HID: Add device group to modalias
HID devices are only partially presented to userland. Hotplugged devices emit events containing a modalias based on the basic bus, vendor and product entities. However, in practise a hid device can depend on details such as a single usb interface or a particular item in a report descriptor. This patch adds a device group to the hid device id, and broadcasts it using uevent and the device modalias. The module alias generation is modified to match. As a consequence, a device with a non-zero group will be processed by the corresponding group driver instead of by the generic hid driver. Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Acked-by: Benjamin Tissoires <benjamin.tissoires@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
This commit is contained in:
committed by
Jiri Kosina
parent
a7197c2e41
commit
4d53b8012f
@ -336,10 +336,12 @@ static int do_hid_entry(const char *filename,
|
||||
struct hid_device_id *id, char *alias)
|
||||
{
|
||||
id->bus = TO_NATIVE(id->bus);
|
||||
id->group = TO_NATIVE(id->group);
|
||||
id->vendor = TO_NATIVE(id->vendor);
|
||||
id->product = TO_NATIVE(id->product);
|
||||
|
||||
sprintf(alias, "hid:b%04X", id->bus);
|
||||
ADD(alias, "g", id->group != HID_GROUP_ANY, id->group);
|
||||
ADD(alias, "v", id->vendor != HID_ANY_ID, id->vendor);
|
||||
ADD(alias, "p", id->product != HID_ANY_ID, id->product);
|
||||
|
||||
|
Reference in New Issue
Block a user