summaryrefslogtreecommitdiffstats
path: root/drivers/hid/usbhid/hid-core.c
Commit message (Collapse)AuthorAgeFilesLines
* HID: switch to using input_dev->dev.parentDmitry Torokhov2007-05-091-1/+1
| | | | | | | | | In preparation for struct class_device -> struct device input core conversion switch to using input_dev->dev.parent when specifying device position in sysfs tree. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* USB HID: usb_buffer_free() cleanupDmitry Torokhov2007-05-091-8/+4
| | | | | | | | usb_buffer_free() now handles NULLs so remove unneeded checks form callers. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* USB HID: report descriptor of Cypress USB barcode readers needs fixupJiri Kosina2007-05-091-0/+27
| | | | | | | | | | | | | | Certain versions of Cypress USB barcode readers (this problem is known to happen at least with PIDs 0xde61 and 0xde64) have report descriptor which has swapped usage min and usage max tag. This results in HID parser failing for report descriptor of these devices, as it (wrongly) requires allocating more usages than HID_MAX_USAGES. Solve this by walking through the report descriptor for such devices, and swap the usage min and usage max items (and their values) to be in proper order. Reported-by: Bret Towe <magnade@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* USB HID: add 'quirks' module parameterPaul Walmsley2007-04-191-0/+13
| | | | | | | | Add a 'quirks' module parameter for the usbhid module, so users can add or modify quirks at module load time. Signed-off-by: Paul Walmsley <paul@booyaka.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* USB HID: encapsulate quirk handling into hid-quirks.cPaul Walmsley2007-04-191-445/+3
| | | | | | | | | | Move the USB_VENDOR* and USB_DEVICE* defines and the hid_blacklist[] array there from hid-core.c. Add hid-quirks.c:usbhid_lookup_any_quirks() to return quirk information to hid-core.c. Convert __u32, __u16 types to u32, u16. Signed-off-by: Paul Walmsley <paul@booyaka.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* USB HID: EMS USBII device needs HID_QUIRK_MULTI_INPUTPaul Zaremba2007-04-181-0/+4
| | | | | | | | | Add HID_QUIRK_MULTI_INPUT to the EMS USBII (0x0b43/0003) so the kernel detects both joystick ports properly. Without it you end up with a single joystick node (js0) that combines the two physical port signals. Signed-off-by: Paul Zaremba <pez-gpg@treeofice.net> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* HID: update copyright and authorship macroJiri Kosina2007-04-161-1/+1
| | | | | | Updates Copyright and DRIVER_AUTHOR in HID and USB HID sources. Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* USB HID: add support for WiseGroup MP-8800 Quad JoypadSam Liddicott2007-04-111-1/+4
| | | | | | | | This adds support for WiseGroup Quad Joypad (0x0925/0x8800). The same quirks as for Dual Joypad (0x0925/0x8866) are needed. Signed-off-by: Sam Liddicott <sam@liddicott.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* USB HID: numlock quirk for dell W7658 keyboardPete Zaitcev2007-04-111-0/+45
| | | | | | | | | | | | On Dell W7658 keyboard, when BIOS sets NumLock LED on, it survives the takeover by kernel and thus confuses users. Eating of an increasibly scarce quirk bit is unfortunate. We do it for safety, given the history of nervous input devices which crash if anything unusual happens. Signed-off-by: Pete Zaitcev <zaitcev@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* USB HID: Logitech MX3000 keyboard needs report descriptor quirkJiri Kosina2007-04-111-11/+13
| | | | | | | | | | | Logitech MX3000 contains report descriptor which doesn't cover usages above 0x28c, but emits such usages. Report descriptor needs fixing in the very same way as with receivers shipped with S510 keyboards. This patch also adds a few mappings for multimedia keys that S510 didn't emit. Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* USB HID: extend quirk for Logitech S510 keyboardJiri Kosina2007-04-111-2/+4
| | | | | | | | | Logitech S510 keyboard is shipped with USB receivers with various product ids, all need their report descriptor to be fixed. This adds PID 0xc50c. Reported by Christophe Colombier in kernel.org bugzilla #7352 Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* USB HID: add QUIRK_HIDDEV for Belkin Flip KVMDaniel P. Engel2007-04-111-0/+5
| | | | | | | | | | | Add HID_QUIRK_HIDDEV for the Belkin Flip USB KVM, which provides for software control of switching via a HID class interface. It overloads three HID LED usages, two of which aren't mapped in the ev_dev input subsection, and which it doesn't make sense to map. In order to force the creation of a hiddev device for controlling the Flip, this quirk flag is needed. Signed-off-by: Daniel P. Engel <dengel@sourceharvest.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* USB HID: specify explicit size for hid_blacklist.quirksPaul Walmsley2007-04-111-2/+3
| | | | | | | | Explicitly specify the size of the hid_blacklist quirks member, to guard against surprises on architectures where unsigned ints aren't 32 bits long. Signed-off-by: Paul Walmsley <paul@booyaka.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* USB HID: fix retry & reset logicAlan Stern2007-04-111-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The USB HID driver fails to reset its error-retry timeout when there has been a long time interval between I/O errors with no successful URB completions in the meantime. As a result, the very next error would trigger an immediate reset, even if it was a chance event occurring long after the previous error. More USB keyboards and mice than one might expect end up getting I/O errors. Almost always this results from hardware problems of one sort of another. For example, people attach the device to a USB extension cable, which degrades the signal. Or they simply have poor quality cables to begin with. Or they use a KVM switch which doesn't handle USB messages correctly. Etc... There have been reports from several users in which these I/O errors would occur more or less randomly, at intervals ranging from seconds to minutes. The error-handling code in hid-core.c was originally meant for situations where a single outage would persist for a few hundred ms (electromagnetic interference, for example). It didn't work right when these more sporadic errors occurred, because of a flaw in the logic which this patch fixes. This patch (as873) fixes that oversight. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* USB HID: consolidate vendor/product idsJiri Kosina2007-04-111-411/+410
| | | | | | | | | | | The vendor/product IDs for the purposes of hid_blacklist got scathered around the hid-core.c in a rather random way over the time. Move all the related definitions at the beginning of the file, and make them sorted again. Sort also hid_blacklist properly. Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* USB HID: move usbhid code from drivers/usb/input to drivers/hid/usbhidJiri Kosina2007-04-111-0/+1477
Separate usbhid code into dedicated drivers/hid/usbhid directory as discussed previously with Greg, so that it eases maintaineance process. Signed-off-by: Jiri Kosina <jkosina@suse.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
OpenPOWER on IntegriCloud