diff options
Diffstat (limited to 'drivers/hid/usbhid')
-rw-r--r-- | drivers/hid/usbhid/hid-core.c | 12 | ||||
-rw-r--r-- | drivers/hid/usbhid/hid-pidff.c | 5 | ||||
-rw-r--r-- | drivers/hid/usbhid/hid-quirks.c | 4 |
3 files changed, 11 insertions, 10 deletions
diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c index 03bd703255a3..0258289f3b3e 100644 --- a/drivers/hid/usbhid/hid-core.c +++ b/drivers/hid/usbhid/hid-core.c | |||
@@ -41,8 +41,6 @@ | |||
41 | * Version Information | 41 | * Version Information |
42 | */ | 42 | */ |
43 | 43 | ||
44 | #define DRIVER_VERSION "v2.6" | ||
45 | #define DRIVER_AUTHOR "Andreas Gal, Vojtech Pavlik, Jiri Kosina" | ||
46 | #define DRIVER_DESC "USB HID core driver" | 44 | #define DRIVER_DESC "USB HID core driver" |
47 | #define DRIVER_LICENSE "GPL" | 45 | #define DRIVER_LICENSE "GPL" |
48 | 46 | ||
@@ -998,7 +996,8 @@ static int usbhid_start(struct hid_device *hid) | |||
998 | usbhid->urbctrl->transfer_dma = usbhid->ctrlbuf_dma; | 996 | usbhid->urbctrl->transfer_dma = usbhid->ctrlbuf_dma; |
999 | usbhid->urbctrl->transfer_flags |= (URB_NO_TRANSFER_DMA_MAP | URB_NO_SETUP_DMA_MAP); | 997 | usbhid->urbctrl->transfer_flags |= (URB_NO_TRANSFER_DMA_MAP | URB_NO_SETUP_DMA_MAP); |
1000 | 998 | ||
1001 | usbhid_init_reports(hid); | 999 | if (!(hid->quirks & HID_QUIRK_NO_INIT_REPORTS)) |
1000 | usbhid_init_reports(hid); | ||
1002 | 1001 | ||
1003 | set_bit(HID_STARTED, &usbhid->iofl); | 1002 | set_bit(HID_STARTED, &usbhid->iofl); |
1004 | 1003 | ||
@@ -1395,8 +1394,7 @@ static int __init hid_init(void) | |||
1395 | retval = usb_register(&hid_driver); | 1394 | retval = usb_register(&hid_driver); |
1396 | if (retval) | 1395 | if (retval) |
1397 | goto usb_register_fail; | 1396 | goto usb_register_fail; |
1398 | printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_VERSION ":" | 1397 | printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_DESC "\n"); |
1399 | DRIVER_DESC "\n"); | ||
1400 | 1398 | ||
1401 | return 0; | 1399 | return 0; |
1402 | usb_register_fail: | 1400 | usb_register_fail: |
@@ -1423,6 +1421,8 @@ static void __exit hid_exit(void) | |||
1423 | module_init(hid_init); | 1421 | module_init(hid_init); |
1424 | module_exit(hid_exit); | 1422 | module_exit(hid_exit); |
1425 | 1423 | ||
1426 | MODULE_AUTHOR(DRIVER_AUTHOR); | 1424 | MODULE_AUTHOR("Andreas Gal"); |
1425 | MODULE_AUTHOR("Vojtech Pavlik"); | ||
1426 | MODULE_AUTHOR("Jiri Kosina"); | ||
1427 | MODULE_DESCRIPTION(DRIVER_DESC); | 1427 | MODULE_DESCRIPTION(DRIVER_DESC); |
1428 | MODULE_LICENSE(DRIVER_LICENSE); | 1428 | MODULE_LICENSE(DRIVER_LICENSE); |
diff --git a/drivers/hid/usbhid/hid-pidff.c b/drivers/hid/usbhid/hid-pidff.c index 484e3eec2f88..e565dbe91d97 100644 --- a/drivers/hid/usbhid/hid-pidff.c +++ b/drivers/hid/usbhid/hid-pidff.c | |||
@@ -1181,12 +1181,11 @@ static void pidff_reset(struct pidff_device *pidff) | |||
1181 | usbhid_wait_io(hid); | 1181 | usbhid_wait_io(hid); |
1182 | 1182 | ||
1183 | if (pidff->pool[PID_SIMULTANEOUS_MAX].value) { | 1183 | if (pidff->pool[PID_SIMULTANEOUS_MAX].value) { |
1184 | int sim_effects = pidff->pool[PID_SIMULTANEOUS_MAX].value[0]; | 1184 | while (pidff->pool[PID_SIMULTANEOUS_MAX].value[0] < 2) { |
1185 | while (sim_effects < 2) { | ||
1186 | if (i++ > 20) { | 1185 | if (i++ > 20) { |
1187 | printk(KERN_WARNING "hid-pidff: device reports " | 1186 | printk(KERN_WARNING "hid-pidff: device reports " |
1188 | "%d simultaneous effects\n", | 1187 | "%d simultaneous effects\n", |
1189 | sim_effects); | 1188 | pidff->pool[PID_SIMULTANEOUS_MAX].value[0]); |
1190 | break; | 1189 | break; |
1191 | } | 1190 | } |
1192 | debug("pid_pool requested again"); | 1191 | debug("pid_pool requested again"); |
diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c index 0d9045aa2c4b..38773dc2821b 100644 --- a/drivers/hid/usbhid/hid-quirks.c +++ b/drivers/hid/usbhid/hid-quirks.c | |||
@@ -37,6 +37,7 @@ static const struct hid_blacklist { | |||
37 | { USB_VENDOR_ID_HAPP, USB_DEVICE_ID_UGCI_FIGHTING, HID_QUIRK_BADPAD | HID_QUIRK_MULTI_INPUT }, | 37 | { USB_VENDOR_ID_HAPP, USB_DEVICE_ID_UGCI_FIGHTING, HID_QUIRK_BADPAD | HID_QUIRK_MULTI_INPUT }, |
38 | { USB_VENDOR_ID_NATSU, USB_DEVICE_ID_NATSU_GAMEPAD, HID_QUIRK_BADPAD }, | 38 | { USB_VENDOR_ID_NATSU, USB_DEVICE_ID_NATSU_GAMEPAD, HID_QUIRK_BADPAD }, |
39 | { USB_VENDOR_ID_NEC, USB_DEVICE_ID_NEC_USB_GAME_PAD, HID_QUIRK_BADPAD }, | 39 | { USB_VENDOR_ID_NEC, USB_DEVICE_ID_NEC_USB_GAME_PAD, HID_QUIRK_BADPAD }, |
40 | { USB_VENDOR_ID_NEXTWINDOW, USB_DEVICE_ID_NEXTWINDOW_TOUCHSCREEN, HID_QUIRK_MULTI_INPUT}, | ||
40 | { USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_RUMBLEPAD, HID_QUIRK_BADPAD }, | 41 | { USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_RUMBLEPAD, HID_QUIRK_BADPAD }, |
41 | { USB_VENDOR_ID_TOPMAX, USB_DEVICE_ID_TOPMAX_COBRAPAD, HID_QUIRK_BADPAD }, | 42 | { USB_VENDOR_ID_TOPMAX, USB_DEVICE_ID_TOPMAX_COBRAPAD, HID_QUIRK_BADPAD }, |
42 | 43 | ||
@@ -53,6 +54,7 @@ static const struct hid_blacklist { | |||
53 | { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_COMBATSTICK, HID_QUIRK_NOGET }, | 54 | { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_COMBATSTICK, HID_QUIRK_NOGET }, |
54 | { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_FLIGHT_SIM_YOKE, HID_QUIRK_NOGET }, | 55 | { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_FLIGHT_SIM_YOKE, HID_QUIRK_NOGET }, |
55 | { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_PRO_PEDALS, HID_QUIRK_NOGET }, | 56 | { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_PRO_PEDALS, HID_QUIRK_NOGET }, |
57 | { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_3AXIS_5BUTTON_STICK, HID_QUIRK_NOGET }, | ||
56 | { USB_VENDOR_ID_DMI, USB_DEVICE_ID_DMI_ENC, HID_QUIRK_NOGET }, | 58 | { USB_VENDOR_ID_DMI, USB_DEVICE_ID_DMI_ENC, HID_QUIRK_NOGET }, |
57 | { USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET }, | 59 | { USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET }, |
58 | { USB_VENDOR_ID_SUN, USB_DEVICE_ID_RARITAN_KVM_DONGLE, HID_QUIRK_NOGET }, | 60 | { USB_VENDOR_ID_SUN, USB_DEVICE_ID_RARITAN_KVM_DONGLE, HID_QUIRK_NOGET }, |
@@ -280,7 +282,7 @@ u32 usbhid_lookup_quirk(const u16 idVendor, const u16 idProduct) | |||
280 | if (idVendor == USB_VENDOR_ID_NCR && | 282 | if (idVendor == USB_VENDOR_ID_NCR && |
281 | idProduct >= USB_DEVICE_ID_NCR_FIRST && | 283 | idProduct >= USB_DEVICE_ID_NCR_FIRST && |
282 | idProduct <= USB_DEVICE_ID_NCR_LAST) | 284 | idProduct <= USB_DEVICE_ID_NCR_LAST) |
283 | return HID_QUIRK_NOGET; | 285 | return HID_QUIRK_NO_INIT_REPORTS; |
284 | 286 | ||
285 | down_read(&dquirks_rwsem); | 287 | down_read(&dquirks_rwsem); |
286 | bl_entry = usbhid_exists_dquirk(idVendor, idProduct); | 288 | bl_entry = usbhid_exists_dquirk(idVendor, idProduct); |