summaryrefslogtreecommitdiff
path: root/drivers/hid/hid-core.c
AgeCommit message (Collapse)Author
2010-06-21HID: ntrig: add support for new firwmare versionsmicki
Signed-off-by: Micki Balanga <micki@n-trig.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-06-04HID: check for HID_QUIRK_IGNORE during probingJindrich Makovicka
While the hardcoded ignore list is checked in hid_add_device(), the user supplied ignore flags are not. Thus, the IGNORE quirk (0x0004) cannot be used to stop usbhid from binding devices like iBuddy, which has been recently removed from the ignore list due to product ID conflict. This patch adds the user quirk check to hid_add_device(), and makes hid_add_device() return -ENODEV when HID_QUIRK_IGNORE bit is set. HID_QUIRK_NO_IGNORE still takes precedence over HID_QUIRK_IGNORE. With the patch, iBuddy works properly using libusb when the following option is added to modprobe.d: options usbhid quirks=0x1130:0x0002:0x0004 Signed-off-by: Jindrich Makovicka <makovick@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-05-24HID: Add the GYR4101US USB ID to hid-gyrationCory Maccarrone
This change adds in the USB product ID for the Gyration GYR4101US USB media center remote control. This remote is similar enough to the other two devices that this driver can be used without any other changes to get full support for the remote. Signed-off-by: Cory Maccarrone <darkstar6262@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-05-19Merge branches 'ntrig', 'picolcd', 'prodikeys' and 'roccat-kone' into for-linusJiri Kosina
Conflicts: drivers/hid/Makefile
2010-05-19Merge branch 'egalax' into for-linusJiri Kosina
Conflicts: drivers/hid/hid-ids.h
2010-05-19Merge branch 'cando' into for-linusJiri Kosina
Conflicts: drivers/hid/hid-core.c drivers/hid/hid-ids.h
2010-05-19Merge branches 'upstream-fixes', 'bkl-removal', 'debugfs-fixes' and ↵Jiri Kosina
'hid-suspend' into for-linus
2010-05-19Merge branch 'upstream' into for-linusJiri Kosina
Conflicts: drivers/hid/hid-wacom.c
2010-05-17HID: hid-samsung: add support for Creative Desktop Wireless 6000Don Prince
Add support for the multimedia buttons of the Creative Desktop Wireless 6000 keyboard/mouse combo which are not currently handled by the default/samsung HID driver. Signed-off-by: Don Prince <dhprince-devel@yahoo.co.uk> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-05-17HID: Zydacron Remote Control driverDon Prince
A specialised HID driver for the Zydacron Remote Control (usb id: 13ec:0006). The specialised HID driver adds support for the buttons which are not currently handled by the default HID driver. Signed-off-by: Don Prince <dhprince-devel@yahoo.co.uk> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-05-17HID: Use kmemdupJulia Lawall
Use kmemdup when some other buffer is immediately copied into the allocated region. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression from,to,size,flag; statement S; @@ - to = \(kmalloc\|kzalloc\)(size,flag); + to = kmemdup(from,size,flag); if (to==NULL || ...) S - memcpy(to, from, size); // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-05-12HID: Prodikeys PC-MIDI HID DriverDon Prince
A specialised HID driver for the Creative Prodikeys PC-MIDI USB Keyboard. The Prodikeys PC-MIDI is a multifunction keyboard comprising a qwerty keyboard, multimedia keys and a touch sensitive musical keyboard. The specialised HID driver adds full support for the musical keyboard and extra multimedia keys which are not currently handled by the default HID driver. The specialised HID driver interfaces with ALSA, and presents the midi keyboard as a rawmidi device. Sustain duration, octave shifting and the midi output channel can be read/written form userspace via sysfs. Signed-off-by: Don Prince <dhprince-devel@yahoo.co.uk> ALSA parts: Acked-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-04-29HID: add support for BTC Emprex 3009URF III Vista MCE RemoteWayne Thomas
The Behavior Tech. Computer Corp. (BTC) remote branded as "Emprex 3009URF III Vista Remote Controller" uses non-standard mappings for all of its 'special purpose' keys (0xffbc usage page). This patch modifies the existing hid-topseed quirky driver to support both remotes in order to prevent proliferation of in-kernel quirky drivers until such a time that udev remapping works with these devices. Tested successfully with both the "Emprex" remote and the "CyberLink" remote originally supported by the hid-topseed driver. Signed-off-by: Wayne Thomas <waynethomas69@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-04-27HID: hidraw: fix numbered reportsAlan Ott
Make hidraw not stick an extra byte on the beginning of an IN transfer when a HID device contains multiple reports. Signed-off-by: Alan Ott <alan@signal11.us> Acked-by: Jiri Slaby <jslaby@suse.cz> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-04-23HID: fix build failureJiri Kosina
Fix build failure introduced by 4afb032068f ("HID: fix support for Wacom Intuos 4 wireless") due to missing coma. Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-04-23HID: Support for the 11.6" Cando panelStephane Chatty
Added support for the 11.6" Cando panel found on the Acer Timeline 1825PTZ. Signed-off-by: Stephane Chatty <chatty@enac.fr> Tested-by: Johannes Klug <johannesklug@room2web.de> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-04-21HID: fix support for Wacom Intuos 4 wirelessJiri Kosina
Commit ed9eac5b493c679 ("HID: add support for the Wacom Intuos 4 wireles") forgot to add VID/PID to hid_blacklist[]. Fix that up. Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-04-19HID: add HID_QUIRK_HIDDEV_FORCE and HID_QUIRK_NO_IGNOREBastien Nocera
Add two quirks to make it possible for usbhid module options to override whether a device is ignored (HID_QUIRK_NO_IGNORE) and whether to connect a hiddev device (HID_QUIRK_HIDDEV_FORCE). Passing HID_QUIRK_NO_IGNORE for your device means that it will not be ignored by the HID layer, even if present in a blacklist. HID_QUIRK_HIDDEV_FORCE will force the creation of a hiddev for that device, making it accessible from user-space. Tested with an Apple IR Receiver, switching it from using appleir to using lirc's macmini driver. Signed-off-by: Bastien Nocera <hadess@hadess.net> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-04-15HID: added support for the Cando dual touch panelStephane Chatty
Added support for the Cando dual touch panels, found in the Lenovo S10-3t. Signed-off-by: Stephane Chatty <chatty@enac.fr> Tested-by: Priya Vijayan <priya.vijayan@intel.com> Tested-by: Florian Echtler <floe@butterbrot.org> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-04-13HID: non-overlapping zeroing of extra bitsPete Zaitcev
From my review of the way the unused bits of report are being zeroed, it seems like there must be a bug. Currently, the zeroing is done in hid_output_field and it covers any bits between the last used bit and the end of the byte. But in case of, say, my keyboard, NumLock is mask 0x01 and CapsLock is 0x02. Invoking hid_output_field for NumLock definitely zeroes across CapsLock. The only reason this works is that the fields are sorted by the offset. It would be more correct and simpler to zero-fill the buffer into which the fields are set. The patch is tested with an IBM keyboard that is improperly sensitive to out-of-report pad bits, the extra bits are still zeroed and the fields continue to work as expected. It is also tested with good keyboards. In case, a related bug in RHEL 5 is tracked with Red Hat bug 513934. Signed-off-by: Pete Zaitcev <zaitcev@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-04-11HID: add support for 3M multitouch 22" displayStephane Chatty
Now support the 22" display and its updated firmware, including touch width and height. The number of touches can now go up to 60, and our single touch emulation will fail when there are more than 6-7 touches; further work is needed on this. Signed-off-by: Stephane Chatty <chatty@enac.fr> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-04-10HID: add support for the eGalax dual-touch panelStephane Chatty
Added support for the eGalax dual-touch panel, found on the Asus EeePC T101MT Signed-off-by: Stephane Chatty <chatty@enac.fr> Tested-by: Philipp Merkel <linux@philmerk.de> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-04-08HID: add support for cymotion master solar keyboardRaphaël Doursenaud
Support the solar version of the Cherry's cymotion keyboard line using existing cherry driver. Signed-off-by: Raphaël Doursenaud <rdoursenaud@free.fr> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-03-31HID: new driver for PicoLCD deviceBruno Prémont
Add basic driver for PicoLCD graphics device. Initially support keypad with input device and provide support for debugging communication via events file from debugfs. Signed-off-by: Bruno Prémont <bonbons@linux-vserver.org> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-03-22HID: add driver for Roccat Kone gaming mouseStefan Achatz
This Patch adds support for Kone gaming mouse from Roccat. It provides access to profiles, settings, firmware, weight, actual settings etc. through sysfs attributes. Event handling of this mouse differs from standard hid behaviour in that tilt button press is reported in each move event which results in strange behaviour if not handled by the driver. This is a heavily reworked version of the previously introduced driver. The changes include most of the previously raised concerns, memory leak and other fixes, code cleanups, adoption of additional achieved knowlege about the hardware and is (IMHO) a much better version than before even when I exchanged reduced USB-IO with a bigger memory consumption. I refused to implement one mentioned point: Removing the 'just-because-we-can' attributes. Motivation: Reading the clipped in weight: I'm no gamer and can't determine the usefulness of this feature but if the manufacturer implements such a feature it might make sense to someone and I would unwillingly limit the functionality besides its such a small feature. Reading the actual profile and dpi settings: Here I can testify that one can get lost of the actual settings when switching back and forth. The manufacturers windows driver has the ability for on-screen-display of the values and there is a mouse in the market that has an lcd on the underside of it to show these values. So I think this feature makes sense not only for me and shouldn't be removed. Signed-off-by: Stefan Achatz <erazor_de@users.sourceforge.net> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-03-18HID: simplify error handling in hid_input_report()Jiri Kosina
The handling of failed debugging buffer allocation got overly complicated. We simply want to skip the debugging code if allocation fails and go on with event processing. Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-03-18HID: output event in debugfs even if hid_get_report() failsJiri Kosina
if hid_get_report() fails for whatever reason, the raw output of the report doesn't make it into 'events' file in debugfs at all, because we leave hid_input_report() too soon. We want the report to be always present for debugging reasons. Move the code around, so that the event makes it to 'events' file all the time, even if we are going to discard the report. Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-03-15HID: register debugfs entries before adding deviceBruno Prémont
Register debugfs entries before calling device_add() so debugfs entries are already present when HID driver's probe function gets called on device hotplug. Also undo debugfs entry registration if device_add() fails so status HID_STAT_ADDED and debugfs registration status remain consistent and we don't leak the debugfs entries. Signed-off-by: Bruno Prémont <bonbons@linux-vserver.org> Cc: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-03-13HID: Add RGT Clutch Wheel clutch device idMarkus Rathgeb
This patch enables force feedback for the "RGT Force Feedback CLUTCH Racing Wheel". It only modifies hid-core.c (hid_blacklist) and hid-tmff.c to add the new USB IDs. Signed-off-by: Markus Rathgeb <rathgeb.markus@googlemail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-02-25Merge branches 'upstream', 'raw_report_modifications' and ↵Jiri Kosina
'apple_magic_mouse' into for-linus Conflicts: drivers/hid/Kconfig
2010-02-10HID: add a device driver for the Apple Magic Mouse.Michael Poole
The Magic Mouse requires that a driver send an unlock Report(Feature) command, similar to the Wacom wireless tablet and Sixaxis controller quirks. This turns on an Input Report that isn't published in the input Report descriptor that contains touch data (and usually overrides the normal motion and click Report). Because the mouse has only one switch and no scroll wheel, the driver (under control of parameters) emulates a middle button and scroll wheel. User space could also ignore and/or re-synthesize those events based on the reported events. Some user-space tools to talk to the mouse directly (that is, when it is not associated with the host's HIDP stack) are at http://github.com/entrope/linux-magicmouse Signed-off-by: Michael Poole <mdpoole@troilus.org> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-02-10HID: Export hid_register_reportMichael Poole
The Apple Magic Mouse (and probably other devices) publish reports that are not called out in their HID report descriptors -- they only send them when enabled through other writes to the device. This allows a driver to handle these unlisted reports. Signed-off-by: Michael Poole <mdpoole@troilus.org> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-02-10HID: Support for MosArt multitouch panelStephane Chatty
Added support for MosArt dual-touch panels, present in the Asus T91MT notebook. Signed-off-by: Stephane Chatty <chatty@enac.fr> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-02-03HID: Enable Sixaxis controller over BluetoothBastien Nocera
Now that hid_output_raw_report works, port the PS3 Sixaxis Bluetooth quirk from user-space, into kernel-space. Signed-off-by: Bastien Nocera <hadess@hadess.net> Acked-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-02-03HID: add support for Pixart Imaging Optical Touch ScreenAlex Neblett
Added support for the Pixart Imaging Inc. Optical Touch Screen found in the MSI AE2220 and other new all in one computers to the Quanta Optical Touch dual-touch panel driver found in the latest git clone git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git. Signed-off-by: Alex Neblett <alexneblett01@yahoo.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-02-02Merge branch 'master' into upstreamJiri Kosina
Conflicts: drivers/hid/hid-ids.h
2010-02-02HID: update copyrightJiri Kosina
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-01-26HID: add support for Ortek WKB-2000Johnathon Harris
This patch adds a new USB HID driver for the Ortek WKB-2000, working around an incorrect LogicalMaximum value in the USB resource descriptor. Tracked by http://bugzilla.kernel.org/show_bug.cgi?id=14787 Bug originally reported by Ubuntu users: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/405390 Signed-off-by: Johnathon Harris <jmharris@gmail.com> Tested-by: Daniel J Blueman <daniel.blueman@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-01-13HID: remove TENX iBuddy from blacklistJiri Kosina
There were multiple reports which indicate that vendor messed up horribly and the same VID/PID combination is used for completely different devices, some of them requiring the blacklist entry and other not. Remove the blacklist entry for this combination of VID/PID completely, and let the user decide and unbind the driver via sysfs eventually, if needed. Proper fix would be fixing the vendor. References: http://lkml.org/lkml/2009/2/10/434 http://bugzilla.kernel.org/show_bug.cgi?id=13411 Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-01-13HID: add device IDs for new model of Apple Wireless KeyboardChristian Schuerer-Waldheim
Added device IDs for the new model of the Apple Wireless Keyboard (November 2009). Signed-off-by: Christian Schuerer-Waldheim <csw@xray.at> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-01-13HID: add support for Acer T230H multitouchStephane Chatty
Add support for the Quanta Optical Touch dual-touch panel, present in the Acer T230H monitor, HP L2105tm, and Packard-Bell Video 200t. Signed-off-by: Stephane Chatty <chatty@enac.fr> Tested-by: Jerome Vidal <jerom3@free.fr> Tested-by: Cedric Berthier <berthiec@gmail.com> Acked-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-01-13HID: add driver for the Logitech Flight System G940Gary Stein
Implements a new USB-HID for Force Feedback based on the normal Logitech Force Feedback code and FF-Memless. Currently only supports the FF_CONSTANT effect although the joystick appears to support additional non-standard ones. Signed-off-by: Gary Stein <LordCnidarian@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-01-05HID: fix parsing of local delimiter with size 0Jiri Kosina
Acording to HID standard 1.11, value 0 allows for size being 0. Local delimiter tag has has 0 one of the possible values. Therefore we need to handle this case properly, to be fully compliant with the specification. Reported-by: Marcin Tolysz <tolysz@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-01-04HID: add support for Stantum multitouch panelStephane Chatty
Added support for the Stantum multitouch panel. Signed-off-by: Stephane Chatty <chatty@enac.fr> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2009-12-23HID: Support for 3M multitouch panelStephane Chatty
Add support for 3M multitouch panels. Signed-off-by: Stephane Chatty <chatty@enac.fr> [jkosina@suse.cz: fix build failure because of inconsistent 3M/MMM defines] Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2009-12-10HID: blacklist ET&T TC5UH touchscreen controllerPetr Štetiar
This patch adds ET&T TC5UH touchscreen controller to HID blacklist, because this device is handled by input/usbtouchscreen driver. Signed-off-by: Petr Štetiar <ynezz@true.cz> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2009-12-07Merge branches 'bkl-removal', 'upstream' and 'upstream-fixes' into for-linusJiri Kosina
2009-12-02HID: add support for Acan FG-8100 barcode readerJiri Kosina
Acan FG-8100 barcode reader (0x04b4/0xbca1) has vendor ID of cypress and requires the same MIN/MAX swap descriptor quirk as other barcode readers from cypress. Reported-by: Stijn Ghesquiere <stijn@applesnail.net> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2009-11-13HID: support Logitech/3DConnexion SpaceTraveler and SpaceNavigatorJiri Kosina
These devices wrongly report their axes as relative instead of absolute. Fix this in up report descriptor of the device before it enters the parser. Reported-by: simon.windows@gmail.com Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2009-10-13HID: remove useless DRIVER_VERSION macroJiri Kosina
DRIVER_VERSION has no use whatosoever, it has been set to "2.6" for ages. Remove it. Signed-off-by: Jiri Kosina <jkosina@suse.cz>