HID: bring back possibility to specify vid/pid ignore on module load
When hid quirks were converted to specialized driver, the HID_QUIRK_IGNORE has been moved completely, as the hid_ignore_list[] has been moved into the generic code. However userspace already got used to the possibility that modprobing usbhid with 'quirks=vid:pid:0x4' makes the device ignored by usbhid driver. So keep this quirk flag in place for backwards compatibility. Signed-off-by: Jiri Kosina <jkosina@suse.cz>
This commit is contained in:
@@ -711,6 +711,9 @@ static int usbhid_parse(struct hid_device *hid)
|
|||||||
quirks = usbhid_lookup_quirk(le16_to_cpu(dev->descriptor.idVendor),
|
quirks = usbhid_lookup_quirk(le16_to_cpu(dev->descriptor.idVendor),
|
||||||
le16_to_cpu(dev->descriptor.idProduct));
|
le16_to_cpu(dev->descriptor.idProduct));
|
||||||
|
|
||||||
|
if (quirks & HID_QUIRK_IGNORE)
|
||||||
|
return -ENODEV;
|
||||||
|
|
||||||
/* Many keyboards and mice don't like to be polled for reports,
|
/* Many keyboards and mice don't like to be polled for reports,
|
||||||
* so we will always set the HID_QUIRK_NOGET flag for them. */
|
* so we will always set the HID_QUIRK_NOGET flag for them. */
|
||||||
if (interface->desc.bInterfaceSubClass == USB_INTERFACE_SUBCLASS_BOOT) {
|
if (interface->desc.bInterfaceSubClass == USB_INTERFACE_SUBCLASS_BOOT) {
|
||||||
|
@@ -270,6 +270,7 @@ struct hid_item {
|
|||||||
|
|
||||||
#define HID_QUIRK_INVERT 0x00000001
|
#define HID_QUIRK_INVERT 0x00000001
|
||||||
#define HID_QUIRK_NOTOUCH 0x00000002
|
#define HID_QUIRK_NOTOUCH 0x00000002
|
||||||
|
#define HID_QUIRK_IGNORE 0x00000004
|
||||||
#define HID_QUIRK_NOGET 0x00000008
|
#define HID_QUIRK_NOGET 0x00000008
|
||||||
#define HID_QUIRK_BADPAD 0x00000020
|
#define HID_QUIRK_BADPAD 0x00000020
|
||||||
#define HID_QUIRK_MULTI_INPUT 0x00000040
|
#define HID_QUIRK_MULTI_INPUT 0x00000040
|
||||||
|
Reference in New Issue
Block a user