HID: uhid: allocate static minor
authorDavid Herrmann <dh.herrmann@gmail.com>
Mon, 9 Sep 2013 16:33:54 +0000 (18:33 +0200)
committerJiri Kosina <jkosina@suse.cz>
Thu, 26 Sep 2013 09:03:29 +0000 (11:03 +0200)
commit19872d20c890073c5207d9e02bb8f14d451a11eb
tree7f83152f8b341304cf4134fe85ab50d349d15ab1
parent84fca9f38c5d646e95cdeef70e41cf15db549b95
HID: uhid: allocate static minor

udev has this nice feature of creating "dead" /dev/<node> device-nodes if
it finds a devnode:<node> modalias. Once the node is accessed, the kernel
automatically loads the module that provides the node. However, this
requires udev to know the major:minor code to use for the node. This
feature was introduced by:

  commit 578454ff7eab61d13a26b568f99a89a2c9edc881
  Author: Kay Sievers <kay.sievers@vrfy.org>
  Date:   Thu May 20 18:07:20 2010 +0200

      driver core: add devname module aliases to allow module on-demand auto-loading

However, uhid uses dynamic minor numbers so this doesn't actually work. We
need to load uhid to know which minor it's going to use.

Hence, allocate a static minor (just like uinput does) and we're good
to go.

Reported-by: Tom Gundersen <teg@jklm.no>
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/uhid.c
include/linux/miscdevice.h