summaryrefslogtreecommitdiffstats
path: root/drivers/hid
Commit message (Collapse)AuthorAgeFilesLines
* Input: bcm5974 - add driver for Macbook Air and Pro Penryn touchpadsHenrik Rydberg2008-08-081-6/+6
| | | | | | | | | | | This driver adds support for the multitouch trackpad on the new Apple Macbook Air and Macbook Pro Penryn laptops. It replaces the appletouch driver on those computers, and integrates well with the synaptics driver of the Xorg system. [dtor@mail.ru: various cleanups] Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Merge branches 'upstream' and 'upstream-fixes' into for-linusJiri Kosina2008-07-236-18/+65
|\
| * HID: apple_fn_keys F5 and F6Henrik Rydberg2008-07-231-0/+2
| | | | | | | | | | | | | | | | | | | | In drivers/hid/hid-input.c, the apple_fn_keys translation table contains no entries for the F5 and F6 keys. This patch maps the F5 and F6 keys to KBDILLUMDOWN and KBDILLUMUP, respektively, which make them work as keyboard backlight control keys. Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| * HID: remove quirk lookup from usbkbd/usbmouseJiri Kosina2008-07-232-16/+0
| | | | | | | | | | | | | | | | | | | | | | | | This patch completely removes the dependency of usbkbd and usbmouse drivers on usbhid code. usbkbd/usbmouse drivers are not needed in the vast majority of cases anyway, and they shouldn't be loaded in standard configurations at all. They are supposed to be as trivial as possible, and searching for HID_QUIRK_IGNORE can even be bad in some cases. Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| * HID: Add mapping of new KEY_MEDIA_REPEAT keycodeDmitry Torokhov2008-07-231-0/+1
| | | | | | | | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| * HID: gyration remote supportDaniel Walker2008-07-231-0/+28
| | | | | | | | | | | | | | | | | | | | This adds in a quirk for the additional un-mapped buttons on the gyration MCE remote. Defines are now alphabetical. Signed-off-by: Daniel Walker <dwalker@mvista.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| * HID: gyration sleep button quirkJiri Kosina2008-07-231-0/+12
| | | | | | | | | | | | | | | | This patch is based on one provided by Jiri Kosina to handle the sleep button. I just added some cleanup and integrated it into my series. Signed-off-by: Daniel Walker <dwalker@mvista.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| * HID: add quirk for Logitech DiNovo desktopJiri Kosina2008-07-231-1/+3
| | | | | | | | | | | | | | | | Logitech DiNovo desktop needs the same quirk as other DiNovo devices. Reported-by: Farid Benamrouche <farid.benamrouche@free.fr> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| * HID: fix quirk handling in usbmouse/kbdJiri Slaby2008-07-232-2/+2
| | | | | | | | | | | | | | | | | | When usbmouse/kbd is set to build, USB_HID is never defined due to the USB_HID!=y Kconfig rule. Test CONFIG_USB_HID_MODULE in both drivers instead. Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| * HID: fix memory leak in hidraw_releaseJiri Kosina2008-07-231-0/+2
| | | | | | | | | | | | | | | | hidraw_release() forgot to free the linked list structure, causing memory leak. Reported-by: Juan Marcos Diez Esteban <juan_m_diez@yahoo.es> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| * HID: Invert HWHEEL mappings for some Logitech miceDan Nicholson2008-07-231-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | Some Logitech mice have a tilt wheel which register as HWHEEL buttons. The events are positive for a click to the right and negative for a click to the left. Applications expect the opposite, though. I suspect this affects a lot more Logitech mice, but these are the only two I have. I tested this using evtest and a GTK application. A similar Microsoft Intellimouse I have works correctly. Signed-off-by: Dan Nicholson <dbn.lists@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| * HID:usbkbd:mark usb_kbd_keycode array as constMing Lei2008-07-231-1/+1
| | | | | | | | | | | | | | mark it as const because it is read only Signed-off-by: Ming Lei <tom.leiming@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| * HID: add fn key support on Macbook Pro 4,1 and Macbook AirAlexandre Karpenko2008-07-231-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added device ids to hid-quriks for detection of keyboards on 4th generation Macbook Pro and Macbook Air The naming scheme is consistent with past Apple keyboards in hid-quirks; as defined by Apple (including device ids) in: /System/Library/Extensions/AppleUSBTopCase.kext/Contents/PlugIns/AppleUSBTCKeyboard.kext/Co ntents/Info.plist Patch was originally posted and tested at: https://bugs.launchpad.net/mactel-support/+bug/207127 Signed-off-by: Alexandre Karpenko <alexander@comm.utoronto.ca> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* | HID: remove unused variable from hiddev compat ioctlJiri Kosina2008-07-231-1/+0
| | | | | | | | | | | | Remove unused inode variable from hiddev compat ioctl handler. Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* | HID: fix compile issue in hiddev ioctlJiri Kosina2008-07-231-1/+1
| | | | | | | | | | | | | | Fix build failure introduced by Alan's ioctl -> unlocked_ioctl (pushing BKL down to the driver) conversion patch for hiddev. Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* | HID: Push down BKL into ioctl handler in hidrawAlan Cox2008-07-231-22/+24
| | | | | | | | | | | | | | | | | | In this case I simply wrapped it as code review suggests the locking already terminally broken and I didn't want to make it first. See added comment Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* | HID: Switch hiddev to unlocked_ioctlAlan Cox2008-07-231-2/+9
| | | | | | | | | | | | | | | | | | Push down the BKL. In some cases compat_ioctl already doesn't take the BKL so we don't either. Some of the locking here seems already dubious and object lifetimes want documenting Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* | HID: use get/put_unaligned_* helpersHarvey Harrison2008-07-231-5/+5
|/ | | | | | Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* Merge branch 'master' of ↵Jiri Kosina2008-07-232-3/+7
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
| * device create: hid: convert device_create to device_create_drvdataGreg Kroah-Hartman2008-07-211-2/+3
| | | | | | | | | | | | | | | | | | device_create() is race-prone, so use the race-free device_create_drvdata() instead as device_create() is going away. Signed-off-by: Jiri Kosina <jkosina@suse.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * USB: fix usb_reset_device and usb_reset_composite_device(take 3)Ming Lei2008-07-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch renames the existing usb_reset_device in hub.c to usb_reset_and_verify_device and renames the existing usb_reset_composite_device to usb_reset_device. Also the new usb_reset_and_verify_device does't need to be EXPORTED . The idea of the patch is that external interface driver should warn the other interfaces' driver of the same device before and after reseting the usb device. One interface driver shoud call _old_ usb_reset_composite_device instead of _old_ usb_reset_device since it can't assume the device contains only one interface. The _old_ usb_reset_composite_device is safe for single interface device also. we rename the two functions to make the change easily. This patch is under guideline from Alan Stern. Signed-off-by: Ming Lei <tom.leiming@gmail.com>
| * USB: remove interface parameter of usb_reset_composite_deviceMing Lei2008-07-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | From the current implementation of usb_reset_composite_device function, the iface parameter is no longer useful. This function doesn't do something special for the iface usb_interface,compared with other interfaces in the usb_device. So remove the parameter and fix the related caller. Signed-off-by: Ming Lei <tom.leiming@gmail.com> Acked-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * Merge commit 'v2.6.26' into bkl-removalJonathan Corbet2008-07-145-29/+33
| |\
| * | HID: cdev lock_kernel() pushdownJonathan Corbet2008-06-201-0/+3
| | | | | | | | | | | | Signed-off-by: Jonathan Corbet <corbet@lwn.net>
* | | Merge branch 'master' of ↵Jiri Kosina2008-06-045-29/+33
|\ \ \ | | |/ | |/| | | | git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
| * | HID: remove CVS keywordsAdrian Bunk2008-05-204-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | This patch removes CVS keywords that weren't updated for a long time from comments. Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| * | HID: Add iMON LCDs to blacklistDylan R Semler2008-05-201-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | The new iMON LCDs from SoundGraph need to be blacklisted from HID in order to be used by lirc. Signed-off-by: Dylan R Semler <dylan.semler@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| * | HID: add Microchip PICKit 1 and PICkit 2 to blacklistXiaofan Chen2008-05-201-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Microchip PICkit 1 and PICKit 2 USB Programmers are USB HID class of device but they are not real HID device. They are now supported by libusb based programs like the following programs. pk2 and pk2cmd Linux port: http://home.pacbell.net/theposts/picmicro/ usb_pickit: http://tfc.duke.free.fr/pickit.html usb_pickit original version: http://charm.cs.uiuc.edu/users/olawlor/projects/2003/microchip/ Therefore it ispreferred to blacklist them. Signed-off-by: Xiaofan Chen <xiaofanc@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| * | HID: split Numlock emulation quirk from HID_QUIRK_APPLE_HAS_FN.Diego 'Flameeyes' Petteno2008-05-202-21/+22
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since 2.6.25 the HID_QUIRK_APPLE_HAS_FN quirk is enabled even for non-laptop Apple keyboards of the Aluminium series. The USB version of these don't need Numlock emulation, like the laptop (and Aluminium Wireless) do, as they have a proper keypad. This patch splits the Numlock emulation for Apple keyboards in a different quirk flag, so that it can be enabled for all the keyboards but the Aluminium USB ones. If the Numlock emulation is enabled for Aluminium USB keyboards, the JKL and UIO keys become the numeric pad, and the rest of the keyboard is disabled, included the key used to disable Numlock. Additionally, these keyboard should not have a Numlock at all, as the Numlock key is instead replaced by the 'Clear' key as usual for Apple USB keyboards. Signed-off-by: Diego 'Flameeyes' Petteno <flameeyes@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* | Merge branch 'master' of ↵Jiri Kosina2008-05-063-4/+8
|\| | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
| * hid-core: use get_unaligned_* helpersHarvey Harrison2008-04-291-3/+3
| | | | | | | | | | | | | | | | Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Acked-by: Jiri Kosina <jkosina@suse.cz> Cc: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
| * usbhid endianness annotations and fixesAl Viro2008-04-281-1/+1
| | | | | | | | | | | | | | | | usb_control_msg() converts arguments to little-endian itself, doing that in caller means breakage on big-endian boxen. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
| * Merge branch 'for-linus' of ↵Linus Torvalds2008-04-251-0/+4
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (40 commits) Input: wacom - add support for Cintiq 20WSX Input: ucb1400_ts - IRQ probe fix Input: at32psif - update MODULE_AUTHOR with new email Input: mac_hid - add lockdep annotation to emumousebtn Input: i8042 - fix incorrect usage of strncpy and strncat Input: bf54x-keys - add infrastructure for keypad wakeups Input: add MODULE_ALIAS() to hotpluggable platform modules Input: drivers/char/keyboard.c - use time_after Input: fix ordering in joystick Makefile Input: wm97xx-core - support use as a wakeup source Input: wm97xx-core - use IRQF_SAMPLE_RANDOM Input: wm97xx-core - only schedule interrupt handler if not already scheduled Input: add Zhen Hua driver Input: aiptek - add support for Genius G-PEN 560 tablet Input: wacom - implement suspend and autosuspend Input: xpad - set proper buffer length for outgoing requests Input: omap-keypad - fix build warning Input: gpio_keys - irq handling cleanup Input: add PS/2 serio driver for AVR32 devices Input: put ledstate in the keyboard notifier ...
| | * Input: aiptek - add support for Genius G-PEN 560 tabletGuryanov Dmitry2008-04-151-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | USBHID driver only supports relative mode with this tablet so let aiptek module handle it. Signed-off-by: Dmitry Guryanov <guryanov@dgap.mipt.ru> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Jiri Kosina <jkosina@suse.cz> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | HID: fix report descriptor handling for MS Wireless model 1028Jiri Kosina2008-04-231-1/+1
|/ / | | | | | | | | | | | | | | Fix a typo in report descriptor fixup, which results in improper substitution and leaving old value in place. Reported-by: Juha Motorsportcom <juha_motorsportcom@luukku.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* | HID: Suppress hidinput for Samsung IR controlRobert Schedel2008-04-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Samsung USB remotes (0419:0001) report six keys via standard HID usage pages (arrow keys, OK, Power). Kernel 2.6.25 maps those to input events (in addition to the hiddev report). The remaining 43 keys are reported via proprietary HID report page and therefore by hiddev only. Applications using hiddev and input device might process the 6 standard keys twice. To avoid this, the input device will be suppressed for the Samsung remote with a quirk entry, forcing to use the hiddev device only. LIRC already contains the proper support. Signed-off-by: Robert Schedel <r.schedel@yahoo.de> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* | HID: remove 60x GTCO devices from blacklistJiri Kosina2008-04-221-21/+0
| | | | | | | | | | | | | | | | | | | | Jeremy Robertson reports that GTCO engineers made a mistake and we don't need 0x60x GTCO product ids blacklisted. This mostly reverts dda3fd35, but leaves PID 0x1007 intact. Reported-by: Jeremy Roberson <jeremy.roberson@einstruction.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* | HID: WiseGroup 866 Dual Joypad needs output reports quirkJiri Kosina2008-04-221-1/+1
| | | | | | | | | | | | | | | | WiseGroup Ltd, MP-8866 Dual Joypad needs to skip output reports, as it contains force-feedback output reports. Reported-by: Anssi Hannula <anssi.hannula@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* | HID: ThrustMaster FF driver is no longer experimentalJiri Kosina2008-04-221-2/+2
| | | | | | | | | | | | | | | | | | There is no need to keep a few years old ThrustMaster force-feedback driver as experimental. HID_FF is currently marked experimental anyway, so this is even redundant. Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* | HID: Logitech diNovo Mini pad supportJiri Kosina2008-04-221-0/+2
| | | | | | | | | | | | | | Logitech diNovo Mini needs DUPLICATE_USAGES quirk. Reported-by: Tom Horsley <tom.horsley@att.net> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* | HID: fix race between open() and disconnect() in usbhidOliver Neukum2008-04-221-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is a window: task A task B spin_lock_irq(&usbhid->inlock); /* Sync with error handler */ usb_set_intfdata(intf, NULL); spin_unlock_irq(&usbhid->inlock); usb_kill_urb(usbhid->urbin); usb_kill_urb(usbhid->urbout); usb_kill_urb(usbhid->urbctrl); del_timer_sync(&usbhid->io_retry); cancel_work_sync(&usbhid->reset_work); if (!hid->open++) { res = usb_autopm_get_interface(usbhid->intf); if (res < 0) { hid->open--; return -EIO; } } if (hid_start_in(hid)) if (hid->claimed & HID_CLAIMED_INPUT) hidinput_disconnect(hid); in which an open() to an already disconnected device will submit an URB to an undead device. In case disconnect() was called by an ioctl, this'll oops. Fix by introducing a new flag and checking it in hid_start_in(). Signed-off-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* | HID: make hid_input_field and usbhid_modify_dquirk staticAdrian Bunk2008-04-222-4/+4
| | | | | | | | | | | | | | | | | | This patch makes the following needlessly global functions static: - hid-core.c:hid_input_field() - usbhid/hid-quirks.c:usbhid_modify_dquirk() Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* | HID: pass numbered reports properly to hidrawJiri Kosina2008-04-221-2/+7
| | | | | | | | | | | | | | | | The numbered reports need to be passed properly to hidraw (i.e. with the first data field indicating the report number), otherwise userspace has no idea about the identification of the report. Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* | HID: fix misplaced rdesc quirkJiri Kosina2008-04-221-4/+3
| | | | | | | | | | | | | | This moves the misplaced rdesc quirk to the place where it belongs. Reported-by: Jiri Slaby <jirislaby@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* | HID: force feedback driver for Logitech Rumblepad 2Anssi Hannula2008-04-224-0/+128
| | | | | | | | | | | | | | | | Add force feedback support for Logitech Rumblepad 2. Tested-By: Edgar Simo <bobbens@gmail.com> Signed-off-by: Anssi Hannula <anssi.hannula@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* | HID: move wait from hid to usbhidJiri Slaby2008-04-222-9/+10
| | | | | | | | | | | | | | Since only place where this is used is usbhid, move it there. Signed-off-by: Jiri Slaby <jslaby@suse.cz> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* | HID: fix sparse warningsJiri Slaby2008-04-223-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix these sparse warnings: .../hid/hid-core.c:100:15: warning: incorrect type in assignment (different signedness) .../hid/hid-core.c:100:15: expected signed int [usertype] *value .../hid/hid-core.c:100:15: got unsigned int *<noident> by unsigned -> s32 .../hid/hid-input-quirks.c:336:10: warning: Using plain integer as NULL pointer by 0 -> NULL .../hid/usbhid/hid-core.c:786:46: warning: incorrect type in argument 3 (different signedness) .../hid/usbhid/hid-core.c:786:46: expected int *max .../hid/usbhid/hid-core.c:786:46: got unsigned int *<noident> .../hid/usbhid/hid-core.c:787:47: warning: incorrect type in argument 3 (different signedness) .../hid/usbhid/hid-core.c:787:47: expected int *max .../hid/usbhid/hid-core.c:787:47: got unsigned int *<noident> .../hid/usbhid/hid-core.c:788:48: warning: incorrect type in argument 3 (different signedness) .../hid/usbhid/hid-core.c:788:48: expected int *max .../hid/usbhid/hid-core.c:788:48: got unsigned int *<noident> by int -> unsigned int Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* | HID: only dump report traffic with debug level 2Anssi Hannula2008-04-222-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | Currently using debug=1 with hid module prints out all sent and received reports to the kernel log, while in many cases we only want to see the report descriptors and hid-input mappings that are printed when a device is probed. Add new level debug=2, and only dump the report traffic with that level. Signed-off-by: Anssi Hannula <anssi.hannula@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* | HID: patch to add NOGET for DMI/AcomdataPete Zaitcev2008-04-221-0/+4
| | | | | | | | | | | | | | | | | | | | | | This must be the weirdest failure yet. My external disk stops processing the storage commands the moment it receives a GET_REPORT. The firmware does not crash; if I do rmmod hid, then SET-INTERFACE restores normal operations. Still, I cannot live without the keyboard when I want backup my files. Adding the NOGET quirk fixes this problem for me. Signed-off-by: Pete Zaitcev <zaitcev@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* | HID: Sunplus Wireless Desktop needs report descriptor fixupJiri Kosina2008-04-222-1/+40
| | | | | | | | | | | | | | | | | | | | | | This device has reports lower logical maximum compared to the real usages for Zoom+ and Zoom- it emits. This patch bumps the values in the report descriptor up, and also adjusts HID_MAX_USAGE accordingly. Reported-by: Khelben Blackstaff <eye.of.the.8eholder@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>