Commit fea6f1833b5bbff7066bcde1fa1141c9717bbad2
Committed by
Jiri Kosina
1 parent
bd28ce008b
Exists in
master
and in
7 other branches
HID: move dell quirks
Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Showing 6 changed files with 86 additions and 2 deletions Side-by-side Diff
drivers/hid/Kconfig
... | ... | @@ -131,6 +131,13 @@ |
131 | 131 | ---help--- |
132 | 132 | Support for Cypress mouse and barcodes. |
133 | 133 | |
134 | +config HID_DELL | |
135 | + tristate "Dell" | |
136 | + default m | |
137 | + depends on USB_HID | |
138 | + ---help--- | |
139 | + Support for Dell W7658. | |
140 | + | |
134 | 141 | config HID_EZKEY |
135 | 142 | tristate "Ezkey" |
136 | 143 | default m |
drivers/hid/Makefile
... | ... | @@ -18,6 +18,7 @@ |
18 | 18 | obj-$(CONFIG_HID_CHERRY) += hid-cherry.o |
19 | 19 | obj-$(CONFIG_HID_CHICONY) += hid-chicony.o |
20 | 20 | obj-$(CONFIG_HID_CYPRESS) += hid-cypress.o |
21 | +obj-$(CONFIG_HID_DELL) += hid-dell.o | |
21 | 22 | obj-$(CONFIG_HID_EZKEY) += hid-ezkey.o |
22 | 23 | obj-$(CONFIG_HID_GYRATION) += hid-gyration.o |
23 | 24 | obj-$(CONFIG_HID_LOGITECH) += hid-logitech.o |
drivers/hid/hid-core.c
... | ... | @@ -1170,6 +1170,7 @@ |
1170 | 1170 | { HID_USB_DEVICE(USB_VENDOR_ID_CYPRESS, USB_DEVICE_ID_CYPRESS_BARCODE_1) }, |
1171 | 1171 | { HID_USB_DEVICE(USB_VENDOR_ID_CYPRESS, USB_DEVICE_ID_CYPRESS_BARCODE_2) }, |
1172 | 1172 | { HID_USB_DEVICE(USB_VENDOR_ID_CYPRESS, USB_DEVICE_ID_CYPRESS_MOUSE) }, |
1173 | + { HID_USB_DEVICE(USB_VENDOR_ID_DELL, USB_DEVICE_ID_DELL_W7658) }, | |
1173 | 1174 | { HID_USB_DEVICE(USB_VENDOR_ID_EZKEY, USB_DEVICE_ID_BTC_8193) }, |
1174 | 1175 | { HID_USB_DEVICE(USB_VENDOR_ID_GYRATION, USB_DEVICE_ID_GYRATION_REMOTE) }, |
1175 | 1176 | { HID_USB_DEVICE(USB_VENDOR_ID_LABTEC, USB_DEVICE_ID_LABTEC_WIRELESS_KEYBOARD) }, |
drivers/hid/hid-dell.c
1 | +/* | |
2 | + * HID driver for some dell "special" devices | |
3 | + * | |
4 | + * Copyright (c) 1999 Andreas Gal | |
5 | + * Copyright (c) 2000-2005 Vojtech Pavlik <vojtech@suse.cz> | |
6 | + * Copyright (c) 2005 Michael Haboustak <mike-@cinci.rr.com> for Concept2, Inc | |
7 | + * Copyright (c) 2006-2007 Jiri Kosina | |
8 | + * Copyright (c) 2007 Paul Walmsley | |
9 | + * Copyright (c) 2008 Jiri Slaby | |
10 | + */ | |
11 | + | |
12 | +/* | |
13 | + * This program is free software; you can redistribute it and/or modify it | |
14 | + * under the terms of the GNU General Public License as published by the Free | |
15 | + * Software Foundation; either version 2 of the License, or (at your option) | |
16 | + * any later version. | |
17 | + */ | |
18 | + | |
19 | +#include <linux/device.h> | |
20 | +#include <linux/hid.h> | |
21 | +#include <linux/module.h> | |
22 | + | |
23 | +#include "hid-ids.h" | |
24 | + | |
25 | +static int dell_probe(struct hid_device *hdev, const struct hid_device_id *id) | |
26 | +{ | |
27 | + int ret; | |
28 | + | |
29 | + hdev->quirks |= HID_QUIRK_RESET_LEDS; | |
30 | + | |
31 | + ret = hid_parse(hdev); | |
32 | + if (ret) { | |
33 | + dev_err(&hdev->dev, "parse failed\n"); | |
34 | + goto err_free; | |
35 | + } | |
36 | + | |
37 | + ret = hid_hw_start(hdev); | |
38 | + if (ret) { | |
39 | + dev_err(&hdev->dev, "hw start failed\n"); | |
40 | + goto err_free; | |
41 | + } | |
42 | + | |
43 | + return 0; | |
44 | +err_free: | |
45 | + return ret; | |
46 | +} | |
47 | + | |
48 | +static const struct hid_device_id dell_devices[] = { | |
49 | + { HID_USB_DEVICE(USB_VENDOR_ID_DELL, USB_DEVICE_ID_DELL_W7658) }, | |
50 | + { } | |
51 | +}; | |
52 | +MODULE_DEVICE_TABLE(hid, dell_devices); | |
53 | + | |
54 | +static struct hid_driver dell_driver = { | |
55 | + .name = "dell", | |
56 | + .id_table = dell_devices, | |
57 | + .probe = dell_probe, | |
58 | +}; | |
59 | + | |
60 | +static int dell_init(void) | |
61 | +{ | |
62 | + return hid_register_driver(&dell_driver); | |
63 | +} | |
64 | + | |
65 | +static void dell_exit(void) | |
66 | +{ | |
67 | + hid_unregister_driver(&dell_driver); | |
68 | +} | |
69 | + | |
70 | +module_init(dell_init); | |
71 | +module_exit(dell_exit); | |
72 | +MODULE_LICENSE("GPL"); | |
73 | + | |
74 | +HID_COMPAT_LOAD_DRIVER(dell); |
drivers/hid/hid-dummy.c
drivers/hid/usbhid/hid-quirks.c