aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hid/usbhid
diff options
context:
space:
mode:
authorHenrik Rydberg <rydberg@euromail.se>2012-04-23 06:07:07 -0400
committerJiri Kosina <jkosina@suse.cz>2012-05-01 06:54:55 -0400
commit8215d557e5f3a70e50e07c857d35c250fee62a73 (patch)
tree1ba7ffa5bddacacc9bff64a049e0ca091d43b65d /drivers/hid/usbhid
parent4fa3a5837b8427faab9b064b1948795eb77b9f8d (diff)
HID: Create a common generic driver
Move the hid drivers of the bus drivers to a common generic hid driver, and make it a proper module. This ought to simplify device handling moving forward. Cc: Gustavo Padovan <gustavo@padovan.org> Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid/usbhid')
-rw-r--r--drivers/hid/usbhid/hid-core.c16
1 files changed, 0 insertions, 16 deletions
diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c
index 9abf718318ca..9cba5006b5ed 100644
--- a/drivers/hid/usbhid/hid-core.c
+++ b/drivers/hid/usbhid/hid-core.c
@@ -1504,28 +1504,15 @@ static struct usb_driver hid_driver = {
1504 .supports_autosuspend = 1, 1504 .supports_autosuspend = 1,
1505}; 1505};
1506 1506
1507static const struct hid_device_id hid_usb_table[] = {
1508 { HID_DEVICE(BUS_USB, HID_GROUP_GENERIC, HID_ANY_ID, HID_ANY_ID) },
1509 { }
1510};
1511
1512struct usb_interface *usbhid_find_interface(int minor) 1507struct usb_interface *usbhid_find_interface(int minor)
1513{ 1508{
1514 return usb_find_interface(&hid_driver, minor); 1509 return usb_find_interface(&hid_driver, minor);
1515} 1510}
1516 1511
1517static struct hid_driver hid_usb_driver = {
1518 .name = "generic-usb",
1519 .id_table = hid_usb_table,
1520};
1521
1522static int __init hid_init(void) 1512static int __init hid_init(void)
1523{ 1513{
1524 int retval = -ENOMEM; 1514 int retval = -ENOMEM;
1525 1515
1526 retval = hid_register_driver(&hid_usb_driver);
1527 if (retval)
1528 goto hid_register_fail;
1529 retval = usbhid_quirks_init(quirks_param); 1516 retval = usbhid_quirks_init(quirks_param);
1530 if (retval) 1517 if (retval)
1531 goto usbhid_quirks_init_fail; 1518 goto usbhid_quirks_init_fail;
@@ -1538,8 +1525,6 @@ static int __init hid_init(void)
1538usb_register_fail: 1525usb_register_fail:
1539 usbhid_quirks_exit(); 1526 usbhid_quirks_exit();
1540usbhid_quirks_init_fail: 1527usbhid_quirks_init_fail:
1541 hid_unregister_driver(&hid_usb_driver);
1542hid_register_fail:
1543 return retval; 1528 return retval;
1544} 1529}
1545 1530
@@ -1547,7 +1532,6 @@ static void __exit hid_exit(void)
1547{ 1532{
1548 usb_deregister(&hid_driver); 1533 usb_deregister(&hid_driver);
1549 usbhid_quirks_exit(); 1534 usbhid_quirks_exit();
1550 hid_unregister_driver(&hid_usb_driver);
1551} 1535}
1552 1536
1553module_init(hid_init); 1537module_init(hid_init);