aboutsummaryrefslogtreecommitdiff
path: root/drivers/input
AgeCommit message (Collapse)AuthorFilesLines
2010-02-20Input: wacom - add device type to device name stringPing Cheng2-4/+15
Devices supporting both pen and touch features share the same product ID, but presented as 2 separate input devices. By adding device type to device name string we can help userspace applications and users differentiate between them. 'Finger' is used for the touch since touch has been used as a suffix by userland hotplugging services. Signed-off-by: Jason Childs <[email protected]> Signed-off-by: Ping Cheng <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-02-20Input: s3c24xx_ts - report touch only when stylus is downVasily Khoruzhick1-14/+16
Currently driver reports touches when it gets (1 << ts.shift) samples, even if stylus is up, which is incorrect. We should only report coordinates and touch condition when stylus is down. Signed-off-by: Vasily Khoruzhick <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-02-19Input: s3c24xx_ts - re-enable IRQ on resumeVasily Khoruzhick1-0/+1
IRQ should be re-enabled on resume, otherwise driver stops reporting events. Signed-off-by: Vasily Khoruzhick <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-02-19Input: wacom - constify product features dataDmitry Torokhov1-63/+63
Features are not supposed to be modified; devices use their own private copies, so let's mark them const. Signed-off-by: Dmitry Torokhov <[email protected]>
2010-02-19Input: wacom - use per-device instance of wacom_featuresJason Childs3-56/+78
Since we mangle data in wacom_features when dealing with certain devices let's use a private (per-device) instance of wacom_features in wacom_wac. This way same product ID can support more than one type of device, such as pen and touch, and not interfere with each other. Signed-off-by: Jason Childs <[email protected]> Signed-off-by: Ping Cheng <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-02-18Merge branch 'for-linus' of ↵Linus Torvalds1-0/+8
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: Input: add KEY_RFKILL Input: i8042 - fix KBC jam during hibernate
2010-02-18Input: i8042 - fix KBC jam during hibernateAlan Jenkins1-0/+8
633aae2 "Input: i8042 - switch to using dev_pm_ops" removed handling for PMSG_THAW, since we do not need to do anything during freeze and thus it was thougt that thaw is not needed as well. However, there is a period when interrupts are kept off, and if key happens to be pressed during that time KBC becomes jammed. To avoid the jam we simply need to poll KBC once during thaw. Signed-off-by: Alan Jenkins <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-02-16Input: sh_keysc - enable building on SH-Mobile ARMMagnus Damm1-1/+1
Update the Kconfig entry for the sh_keysc driver to enable build on SH-Mobile ARM platforms. Signed-off-by: Magnus Damm <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-02-11Merge branch 'for-linus' of ↵Linus Torvalds1-1/+8
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: Input: psmouse - make sure we don't schedule reconnects after cleanup
2010-02-10Input: wacom - get features from driver infoBastian Blank3-152/+205
Get the features information from the driver info of the usb device id structure provided by the caller. The device ids and feature structs are strong coupled using indices. Signed-off-by: Bastian Blank <[email protected]> Tested-by: Jason Childs <[email protected]> Acked-by: Ping Cheng <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-02-10Input: rotary-encoder - set gpio direction for each requested gpioAndrew Clayton1-0/+14
Even with the correct pin mux settings, you still need to explicitly set the gpio direction. Call gpio_direction_input() after each requested gpio. Signed-off-by: Andrew Clayton <[email protected]> Signed-off-by: Mark Somerville <[email protected]> Tested-by: H Hartley Sweeten <[email protected]> Acked-by: Daniel Mack <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-02-10Input: sh_keysc - update the driver with mode 6Magnus Damm1-1/+2
Add mode 6 support to the sh_keysc driver. Also update the KYOUTDR mask value to include all 16 register bits. Signed-off-by: Magnus Damm <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-02-10Input: sh_keysc - switch to using bitmapsMagnus Damm1-25/+44
Use bitmaps instead of using 32-bit integers to keep track of the key states. With this change in place the driver supports key pads with more than 32 keys. Signed-off-by: Magnus Damm <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-02-10Input: sh_keysc - factor out hw access functionsMagnus Damm1-26/+43
Update the sh_keysc driver to factor out the register access functions sh_keysc_read(), sh_keysc_write() together with sh_keysc_level_mode(). This makes the code a bit easier to follow. Signed-off-by: Magnus Damm <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-02-10Input: schedule corgi_ssp and corgi_ts to be removedEric Miao1-1/+0
Signed-off-by: Eric Miao <[email protected]> Acked-by: Richard Purdie <[email protected]> Acked-by: Pavel Machek <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-02-10Input: mark {corgi,spitz,tosa}kbd drivers deprecatedEric Miao1-6/+12
Provided that now keyboards on these devices are fully supported by generic GPIO based matrix keypad driver, mark these hardcoded and difficult to maintain drivers as deprecated. Signed-off-by: Eric Miao <[email protected]> Acked-by: Pavel Machek <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-02-09tree-wide: Assorted spelling fixesDaniel Mack1-1/+1
In particular, several occurances of funny versions of 'success', 'unknown', 'therefore', 'acknowledge', 'argument', 'achieve', 'address', 'beginning', 'desirable', 'separate' and 'necessary' are fixed. Signed-off-by: Daniel Mack <[email protected]> Cc: Joe Perches <[email protected]> Cc: Junio C Hamano <[email protected]> Signed-off-by: Jiri Kosina <[email protected]>
2010-02-08[IA64] Remove COMPAT_IA32 supportTony Luck1-2/+0
This has been broken since May 2008 when Al Viro killed altroot support. Since nobody has complained, it would appear that there are no users of this code (A plausible theory since the main OSVs that support ia64 prefer to use the IA32-EL software emulation). Signed-off-by: Tony Luck <[email protected]>
2010-02-07Input: psmouse - make sure we don't schedule reconnects after cleanupDmitry Torokhov1-1/+8
Set state of the device as "initializing" during and after cleanup to ensure that unsolicited data from the device is not passed on. We especially want to avoid processing new device announcements "0xaa 0x00" that can come up before we perform reconnect operation. Signed-off-by: Dmitry Torokhov <[email protected]>
2010-02-05Fix spelling of 'platform' in log messagesStefan Weil1-1/+1
Replace platfrom -> platform. Signed-off-by: Stefan Weil <[email protected]> Signed-off-by: Jiri Kosina <[email protected]>
2010-02-05Fix misspelling of "should" and "shouldn't" in comments.Adam Buchbinder1-1/+1
Some comments misspell "should" or "shouldn't"; this fixes them. No code changes. Signed-off-by: Adam Buchbinder <[email protected]> Signed-off-by: Jiri Kosina <[email protected]>
2010-02-04Input: gpio-keys - add support for disabling gpios through sysfsMika Westerberg1-11/+307
Now gpio-keys input driver exports 4 new attributes to userland through sysfs: /sys/devices/platform/gpio-keys/keys [ro] /sys/devices/platform/gpio-keys/switches [ro] /sys/devices/platform/gpio-keys/disabled_keys [rw] /sys/devices/platform/gpio-keys/disables_switches [rw] With these attributes, userland program can read which keys and switches can be disabled and then disable/enable them as needed. Keys and switches are exported as stringified bitmap of codes (keycodes or switch codes). For example keys 15, 89, 100, 101, 102 are exported as: '15,89,100-102'. Description of the attributes: keys - bitmap of keys which can be disabled switches - bitmap of switches which can be disabled disabled_keys - bitmap of currently disabled keys (bit 1 means disabled, 0 enabled) disabled_switches - bitmap of currently disabled switches (bit 1 means disabled, 0 enabled) Signed-off-by: Mika Westerberg <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-02-04Input: mark input interfaces as non-seekableDmitry Torokhov2-0/+4
Seeking does not make sense for input interfaces such as evdev and joydev so let's use nonseekable_open to mark them non-seekable. Signed-off-by: Dmitry Torokhov <[email protected]>
2010-02-04Input: uinput - mark as non-seekableDmitry Torokhov1-0/+1
Seeking does not make sense for uinput so let's use nonseekable_open to mark the device non-seekable. Signed-off-by: Dmitry Torokhov <[email protected]>
2010-02-04Input: add match() method to input hanldersDmitry Torokhov2-24/+21
Get rid of blacklist in input handler structure and instead allow handlers to define their own match() method to perform fine-grained filtering of supported devices. Signed-off-by: Dmitry Torokhov <[email protected]>
2010-02-04Input: usbtouchscreen - fix leaks and check return value of usb_submit_urb()Ondrej Zary1-3/+14
Fix urb leak in error path of initialization and make sure we handle errors from initial usb_submit_urb(). Signed-off-by: Ondrej Zary <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-02-04Input: usbtouchscreen - add NEXIO (or iNexio) supportOndrej Zary2-2/+264
Add support for NEXIO (or iNexio) USB touchscreens to usbtouchscreen driver. Tested with NEX170MRT 17" LCD monitor with integrated touchscreen (with xserver-xorg-input-evtouch 0.8.8-1): T:  Bus=02 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 54 Spd=12  MxCh= 0 D:  Ver= 1.10 Cls=02(comm.) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1 P:  Vendor=1870 ProdID=0001 Rev= 1.00 S:  Manufacturer=iNexio S:  Product=iNexio USB C:* #Ifs= 2 Cfg#= 1 Atr=c0 MxPwr=500mA I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=00 Driver=(none) E:  Ad=83(I) Atr=03(Int.) MxPS=   8 Ivl=255ms I:* If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=(none) E:  Ad=01(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms No datasheet is available, this was written by capturing some data with SniffUSB in Windows: http://www.rainbow-software.org/linux_files/nexio/ Signed-off-by: Ondrej Zary <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-02-04Input: usbtouchscreen - find input endpoint automaticallyOndrej Zary1-3/+14
Find input enpoint automatically instead of assuming that the first one is OK. This is needed for devices with multiple endpoints such as iNexio where the first endpoint might be output. Signed-off-by: Ondrej Zary <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-02-04Input: usbtouchscreen - convert from usb_device to usb_interfaceOndrej Zary1-10/+12
Convert usbtouchscreen from storing usb_device to usb_interface. This is needed for multi-interface touchscreen devices such as iNexio. Signed-off-by: Ondrej Zary <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-01-31Input: add imx-keypad driver to support the IMX Keypad PortAlberto Panizzo3-0/+604
The IMX family of Application Processors is shipped with a Keypad Port supported by this driver. The peripheral can control up to an 8x8 matrix key pad where all the scanning is done via software. The hardware provides two interrupts: one for key presses (KDI) and one for all key releases (KRI). There is also a simple circuit for glitch reduction (said for synchronization) made by two series of 3 D-latches clocked by the keypad-clock that stabilize the interrupts sources. KDI and KRI are fired only if the respective conditions are maintained for at last 4 keypad-clock cycle. Since those circuits are poor for a correct debounce process (the keypad-clock frequency is 32K and bounces longer than 94us are not masked) the driver, when an interrupt arrives, samples the matrix with a period of 10ms until the readins are stable for IMX_KEYPAD_SCANS_FOR_STABILITY times (currently set at 3). After getting stable result appropriate events are sent through the input stack. If some keys are maintained pressed, the driver continues to scan the matrix with a longer period (60ms) to catch possible multiple key presses without overloading the cpu. This process ends when all keys are released. This driver is tested to build in kernel or as a module and follow the specification of Freescale Application processors: i.MX25 i.MX27 i.MX31 i.MX35 i.MX51 especially tested on i.MX31. Signed-off-by: Alberto Panizzo <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-01-30Input: implement input filtersDmitry Torokhov1-7/+34
Sometimes it is desirable to suppress certain events from reaching input handlers and thus user space. One such example is Mac mouse button emulation code which catches certain key presses and converts them into button clicks as if they were emitted by a virtual mouse. The original key press events should be completely suppressed, otherwise user space will be confused, and while keyboard driver does it on its own evdev is blissfully unaware of this arrangement. This patch adds notion of 'filter' to the standard input handlers, which may flag event as filtered thus preventing it from reaching other input handlers. Filters don't (nor will they ever) have a notion of priority relative to each other, input core will run all of them first and any one of them may mark event as filtered. This patch is inspired by similar patch by Matthew Garret but the implementation and intended usage are quite different. Signed-off-by: Dmitry Torokhov <[email protected]>
2010-01-29Input: uinput - remove BKL from uinput_open functionThadeu Lima de Souza Cascardo1-3/+0
Commit 8702965848ed4bee27486a3e3d2ae34ebba6dd83 pushed down the BKL into uinput open function. However, there's nothing that needs locking in there. Signed-off-by: Thadeu Lima de Souza Cascardo <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-01-29Merge branch 'for-linus' of ↵Linus Torvalds4-57/+149
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: Input: update multi-touch protocol documentation Input: add the ABS_MT_PRESSURE event Input: winbond-cir - remove dmesg spam Input: lifebook - add another Lifebook DMI signature Input: ad7879 - support auxiliary GPIOs via gpiolib
2010-01-28Input: wm97xx - provide coordinate logs for accelerated I/OMark Brown2-0/+6
This aids debug of problematic systems. Signed-off-by: Mark Brown <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-01-28Input: add the ABS_MT_PRESSURE eventHenrik Rydberg1-0/+1
For pressure-based multi-touch devices, a direct way to send sensor intensity data per finger is needed. This patch adds the ABS_MT_PRESSURE event to the MT protocol. Requested-by: Yoonyoung Shim <[email protected]> Requested-by: Mika Kuoppala <[email protected]> Requested-by: Peter Hutterer <[email protected]> Signed-off-by: Henrik Rydberg <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-01-28Input: winbond-cir - remove dmesg spamDavid Härdeman1-1/+1
I missed converting one dev_info call to deb_dbg before submitting the driver. Without this change, a message will be printed to dmesg for each button press if a RC6 remote is used. Signed-off-by: David Härdeman <[email protected]> Cc: stable <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-01-28Input: lifebook - add another Lifebook DMI signatureJon Dodgson1-0/+6
There are many many ways one can capitalize "Lifebook B Series"... Signed-off-by: Jon Dodgson <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-01-28ACPI: replace acpi_integer by u64Lin Ming1-1/+1
acpi_integer is now obsolete and removed from the ACPICA code base, replaced by u64. Signed-off-by: Lin Ming <[email protected]> Signed-off-by: Len Brown <[email protected]>
2010-01-24Input: xpad - add rumble support for original xbox controllerBenjamin Valentin1-16/+37
Signed-off-by: Benjamin Valentin <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-01-24Input: xilinx_ps2 - use resource_sizeTobias Klauser1-2/+2
Use the resource_size inline function instead of manually calculating the resource size. Signed-off-by: Tobias Klauser <[email protected]> Acked-by: John Linn <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-01-21Merge commit 'v2.6.33-rc5' into nextDmitry Torokhov29-203/+306
2010-01-21Input: sh_keysc - add mode 4 and mode 5 supportMagnus Damm1-3/+3
Add Mode 4 and Mode 5 support to the SH_KEYSC driver. These modes allow slightly larger key pad matrixes. While at it, make use of resource_size(). Signed-off-by: Magnus Damm <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-01-19Input: ADP5588 - add support for ADP5587 devicesMichael Hennerich2-4/+6
The ADP5587 is quite similar to the ADP5588 but features a greater I/O voltage range and lacks the Dual Light Sensor Interface. This new part is also supported by this driver. Signed-off-by: Michael Hennerich <[email protected]> Signed-off-by: Mike Frysinger <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-01-19Input: ad7879 - support auxiliary GPIOs via gpiolibMichael Hennerich1-56/+141
Drop the simple fancy sysfs hooks for the aux GPIOs and expose these via the gpiolib interface so that other drivers can use them. Signed-off-by: Michael Hennerich <[email protected]> Signed-off-by: Mike Frysinger <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-01-15Merge branch 'for-linus' of ↵Linus Torvalds12-102/+207
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: Input: sentelic - fix left/right horizontal scroll mapping Input: pmouse - move Sentelic probe down the list Input: add compat support for sysfs and /proc capabilities output Input: i8042 - add Dritek quirk for Acer Aspire 5610. Input: xbox - do not use GFP_KERNEL under spinlock Input: psmouse - fix Synaptics detection when protocol is disabled Input: bcm5974 - report ABS_MT events Input: davinci_keyscan - add device_enable method to platform data Input: evdev - be less aggressive about sending SIGIO notifies Input: atkbd - fix canceling event_work in disconnect Input: serio - fix potential deadlock when unbinding drivers Input: gf2k - fix &&/|| confusion in gf2k_connect()
2010-01-13Input: ep93xx_keypad - cleanup and use matrix_keypad helpersH Hartley Sweeten1-25/+15
Use struct matrix_keymap_data to supply the keymap from the platform code and matrix_keypad_build_keymap() to initialize the keymap. Signed-off-by: H Hartley Sweeten <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-01-13Input: sentelic - fix left/right horizontal scroll mappingTai-hwa Liang1-3/+3
Signed-off-by: Tai-hwa Liang <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-01-13Input: pmouse - move Sentelic probe down the listTai-hwa Liang1-13/+15
Sentelic probes confuse IBM trackpoints so they stop responding to TP_READ_ID command. See: http://bugzilla.kernel.org/show_bug.cgi?id=14970 Let's move FSP detection lower so it is probed after trackpoint and others, just before we strat probing for Intellimouse Explorer. Signed-off-by: Tai-hwa Liang <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-01-12Input: add compat support for sysfs and /proc capabilities outputDmitry Torokhov1-15/+71
Input core displays capabilities bitmasks in form of one or more longs printed in hex form and separated by spaces. Unfortunately it does not work well for 32-bit applications running on 64-bit kernels since applications expect that number is "worth" only 32 bits when kernel advances by 64 bits. Fix that by ensuring that output produced for compat tasks uses 32-bit units. Reported-and-tested-by: Michael Tokarev <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-01-11Input: make USB device ids constantMárton Németh2-2/+2
The id_table field of the struct usb_device_id is constant in <linux/usb.h> so it makes sense to mark the initialization data also constant. Signed-off-by: Márton Németh <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>