HID: make it possible to force hid-core claim the device
Introduce 'hid_ignore_special_drivers' module parameter that makes hid-core claim the device even if it's listed in hid_have_special_driver[]. This is useful mostly for debugging purposes and specialized initrds, where all the hid drivers are not avaiable. Signed-off-by: Jiri Kosina <jkosina@suse.cz>
This commit is contained in:
parent
a786e83cb0
commit
6b1968d5b6
1 changed files with 6 additions and 2 deletions
|
@ -4,7 +4,7 @@
|
||||||
* Copyright (c) 1999 Andreas Gal
|
* Copyright (c) 1999 Andreas Gal
|
||||||
* Copyright (c) 2000-2005 Vojtech Pavlik <vojtech@suse.cz>
|
* Copyright (c) 2000-2005 Vojtech Pavlik <vojtech@suse.cz>
|
||||||
* Copyright (c) 2005 Michael Haboustak <mike-@cinci.rr.com> for Concept2, Inc
|
* Copyright (c) 2005 Michael Haboustak <mike-@cinci.rr.com> for Concept2, Inc
|
||||||
* Copyright (c) 2006-2010 Jiri Kosina
|
* Copyright (c) 2006-2012 Jiri Kosina
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -50,6 +50,10 @@ module_param_named(debug, hid_debug, int, 0600);
|
||||||
MODULE_PARM_DESC(debug, "toggle HID debugging messages");
|
MODULE_PARM_DESC(debug, "toggle HID debugging messages");
|
||||||
EXPORT_SYMBOL_GPL(hid_debug);
|
EXPORT_SYMBOL_GPL(hid_debug);
|
||||||
|
|
||||||
|
static int hid_ignore_special_drivers = 0;
|
||||||
|
module_param_named(ignore_special_drivers, hid_ignore_special_drivers, int, 0600);
|
||||||
|
MODULE_PARM_DESC(debug, "Ignore any special drivers and handle all devices by generic driver");
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Register a new report for a device.
|
* Register a new report for a device.
|
||||||
*/
|
*/
|
||||||
|
@ -1678,7 +1682,7 @@ static int hid_bus_match(struct device *dev, struct device_driver *drv)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
/* generic wants all that don't have specialized driver */
|
/* generic wants all that don't have specialized driver */
|
||||||
if (!strncmp(hdrv->name, "generic-", 8))
|
if (!strncmp(hdrv->name, "generic-", 8) && !hid_ignore_special_drivers)
|
||||||
return !hid_match_id(hdev, hid_have_special_driver);
|
return !hid_match_id(hdev, hid_have_special_driver);
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
|
|
Loading…
Add table
Reference in a new issue