aboutsummaryrefslogtreecommitdiff
path: root/drivers/input
AgeCommit message (Collapse)Author
2009-08-21Input: wacom - don't use on-stack memory for report buffersDmitry Torokhov
Tested-by: Martin Capitanio <martin@capitanio.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-08-19Input: iforce - support new revision of ACT LABS Force RSJiri Kosina
Reported-by: cemede@gmail.com Signed-off-by: Jiri Kosina <jkosina@suse.cz> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-08-12Input: joydev - decouple axis and button map ioctls from input constantsStephen Kitt
The KEY_MAX change in 2.6.28 changed the values of the JSIOCSBTNMAP and JSIOCGBTNMAP constants; software compiled with the old values no longer works with kernels following 2.6.28, because the ioctl switch statement no longer matches the values given by the software. This patch handles these ioctls independently of the length of data specified, and applies the same treatment to JSIOCSAXMAP and JSIOCGAXMAP which currently depend on ABS_MAX. Signed-off-by: Stephen Kitt <steve@sk2.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-08-05Input: matrix_keypad - make matrix keymap size dynamicEric Miao
Remove assumption on the shift and size of rows/columns form matrix_keypad driver. Signed-off-by: Eric Miao <eric.y.miao@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-08-05Input: wistron_btns - support Prestigio Wifi RF kill buttonTJ
The Prestigio 157, an old no-name clone laptop uses input keys very similar to the Wistron 1557/MS2141 with the addition of BIOS-controlled wireless radio frequency kill switch. This patch adds support for the RF kill switch control and adds manual identification of the model. The Prestigio does not expose any recognisable identity via dmidecode and so requires manual selection at module init using force=1 keymap=prestigio Signed-off-by: TJ <ubuntu@tjworld.net> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-08-05Input: i8042 - add Asus G1S to noloop exception listJory A. Pratt
The synaptic touchpad on the Asus G1S is not properly detected when rebooting machine or on cold boot from time to time. Adding the Asus G1S to the noloop exception table resolves the issue. # dmidecode 2.10 SMBIOS 2.4 present. Handle 0x0001, DMI type 1, 27 bytes System Information Manufacturer: ASUSTeK Computer Inc. Product Name: G1S Version: 1.0 Wake-up Type: Power Switch SKU Number: Family: Signed-off-by: Jory A. Pratt <geekypenguin@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-07-20Input: atkbd - add force relese key quirk for Soltech TA12Jerone Young
Netbooks based on the Soltech TA12 do not send a key release for volume keys causing Linux to think the key is constantly being pressed forever. Added quirk data for forced release keys. BugLink: https://bugs.launchpad.net//bugs/397499 Signed-off-by: Jerone Young <jerone.young@canonical.com> Signed-off-by: Tim Gardner <tim.gardner@canonical.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-07-13Input: fix EVIOCGNAME/JSIOCGNAME regressionDaniel Mack
Commit 3d5cb60e ("Input: simplify name handling for certain input handles") introduced a regression for the EVIOCGNAME/JSIOCGNAME ioctl. Before this, patch, the platform device's name was given back to userspace which was good to identify devices. After this patch, the device is ("event%d", minor) which is not descriptive at all. This fixes the behaviour by taking dev->name. Reported-by: Sven Neumann <s.neumann@raumfeld.com> Signed-off-by: Daniel Mack <daniel@caiaq.de> Reviewed-by: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-07-12Input: atkbd - add forced release keys quirk for FSC Amilo Pi 3525Simon Davie
This patch enables forced releasing of the Fn+Volume hotkeys on the Fujitsu Siemens Amilo Pi 3525 notebook. Signed-off-by: Simon Davie <nexx@nexxdesign.co.uk> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-07-12Input: pcspkr - switch driver to dev_pm_opsFrans Pop
Gets rid of the following warning: Platform driver 'pcspkr' needs updating - please use dev_pm_ops Signed-off-by: Frans Pop <elendil@planet.nl> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-07-12Input: xpad - don't resend successfully sent outgoing requestsMichael Gruber
This avoids an infinite loop. Signed-off-by: Michael Gruber <lists.mg@googlemail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-07-12Input: wistron_btns - recognize Maxdata Pro 7000 notebooksGiuseppe Mazzotta
This patch adds DMI information to automatically load the correct layout for the Maxdata Pro 7000X/DX notebook models. Such notebooks are clones of Fujitsu Amilo V2000, the hook for the v2000 is being used and I have tested that perfectly works. The immediate result of integrating this patch is that the five special buttons will work on these specific notebook models and that the RF killswitch will not be activated after suspend. This patch definitively obsoletes the fsam7400 module which I was still needing to enable wifi and to fix the RF killswitch suspend problem; in the current 2.6.30 kernel it is necessary to load the wistron_btns module with options 'force=1 keymap=1557/MS2141', which was not anyway a complete workaround. Signed-off-by: Giuseppe Mazzotta <g.mazzotta@iragan.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-07-07Input: gpio_mouse - use standard driver registration methodSaeed Bishara
This patch is needed when the gpio's became available only at late stages, for example, when using i2c gpio expander. Signed-off-by: Saeed Bishara <saeed@marvell.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-07-07Input: mark serio and i8042 as suspended when hibernating tooThadeu Lima de Souza Cascardo
Serio ports are not being restarted any longer because resume operations after hibernate do nothing, since the device has not been marked as suspended. This happens because suspend is only considering the SUSPEND event but not the FREEZE event. Note that this driver has still to migrate to dev_pm_ops, but this fixes this particular bug now. Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-06-29Input: add support for generic GPIO-based matrix keypadEric Miao
Original patch by Marek Vasut, modified by Eric in: 1. use delayed work to simplify the debouncing 2. combine col_polarity/row_polarity into a single active_low field 3. use a generic bit array based XOR algorithm to detect key press/release, which should make the column assertion time shorter and code a bit cleaner 4. remove the ALT_FN handling, which is no way generic, the ALT_FN key should be treated as no different from other keys, and translation will be done by user space by commands like 'loadkeys'. 5. explicitly disable row IRQs and flush potential pending work, and schedule an immediate scan after resuming as suggested by Uli Luckas 6. incorporate review comments from many others Patch tested on Littleton/PXA310 (though PXA310 has a dedicate keypad controller, I have to configure those pins as generic GPIO to use this driver, works quite well, though), and Sharp Zaurus model SL-C7x0 and SL-C1000. [dtor@mail.ru: fix error unwinding path, support changing keymap from userspace] Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Reviewed-by: Trilok Soni <soni.trilok@gmail.com> Reviewed-by: Uli Luckas <u.luckas@road.de> Reviewed-by: Russell King <linux@arm.linux.org.uk> Reviewed-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-06-29Input: arrange keyboards alphabeticallyDmitry Torokhov
Hopefully it will reduce conflicts when merging patches. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-06-28Input: gpio-keys - avoid possibility of sleeping in timer functionJani Nikula
The gpio_get_value function may sleep, so it should not be called in a timer function. Move gpio_get_value calls to workqueue. Signed-off-by: Jani Nikula <ext-jani.1.nikula@nokia.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-06-28Input: gpio-keys - revert 'change timer to workqueue'Jani Nikula
This reverts commit 0b346838c5862bfe911432956a106d602535d030. This commit breaks GPIO debouncing by replacing the original mod_timer with schedule_delayed_work in the interrupt handler. The latter does not kick the timer further on GPIO line changes as it should to perform debouncing. Signed-off-by: Jani Nikula <ext-jani.1.nikula@nokia.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-06-28Input: wacom - add DTF720a support and fix rotation on Intuos3Ping Cheng
This patch adds DTF720a support and fixes an Intuos3 rotation pen out-proximity bug. Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-06-28Input: i8042 - more reset quirks for MSI Wind-clone netbooksYan Li
When testing Moblin on various netbooks, we've got reports that many MSI Wind clones need the i8042 reset quirks for the keyboard and/or touchpad's proper function. Signed-off-by: Yan Li <yan.i.li@intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-06-19Input: add driver for Synaptics I2C touchpadMike Rapoport
This driver supports Synaptics I2C touchpad controller on eXeda mobile device. Unfortunaltely it only works in relative mode and thus is not comaptible with Xorg Synaptics driver. Signed-off-by: Igor Grinberg <grinberg@compulab.co.il> Signed-off-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-06-19Input: synaptics - add support for reporting x/y resolutionTero Saarni
Synaptics uses anisotropic coordinate system. On some wide touchpads vertical resolution can be twice as high as horizontal which causes unequal sensitivity on x/y directions. Add support for reading the resolution with EVIOCGABS ioctl. Signed-off-by: Tero Saarni <tero.saarni@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-06-11Input: ALPS - handle touchpoints buttons correctlyUlrich Dangel
When pressing any button belonging to the touchpoint, the generated click events don't belong to the touchpoint but to the touchpad. This patch fixes this behaviour, the events will be sent via the correct device, so scrolling with touchpoint is possible. Signed-off-by: Ulrich Dangel <uli@spamt.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-06-11Input: gpio-keys - change timer to workqueueAlek Du
The gpio_get_value function of I2C/SPI GPIO expander may sleep thus this function call can not be called in a timer function. Signed-off-by: Alek Du <alek.du@intel.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-06-11Input: ads7846 - pin change interrupt supportMichael Roth
Some SoCs support only pin change interrupts on GPIO pins used as irq lines. The ads7846 core is not affected from the additional irqs on the rising edge because the code accounts touch bounce anyway by kicking in a timer and disabling the irq after the first request and reenabling the irq after a timeout when there is no longer pen down detected. Signed-off-by: Michael Roth <mroth@nessie.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-06-11Input: add support for touchscreen on W90P910 ARM platformWan ZongShun
The touchscreen works in two modes, wait trigger mode and auto-semi mode. The device starts in wait trigger mode and waits until pressure is detected, then device sets WT_INT bit and raises an interrupt. The driver should put the device into auto-semi mode and prepare for reading first X and then Y coordinates. When coordinate data is ready the driver sets ADC_INT bit and raises interrupt again. [dtor@mail.ru: various cleanups] Signed-off-by: Wan ZongShun <mcuos.com@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-06-11Merge commit 'v2.6.30' into nextDmitry Torokhov
2009-06-03Input: appletouch - improve finger detectionJeremy Huddleston
The appletouch driver is prone to reporting multiple fingers when only one is pressing. The appletouch driver queries an array of pressure sensors and counts local maxima in pressure to determine the number of fingers. It just does this on the raw values, so a data stream like: 0 100 250 300 299 300 250 100 0 actually registers as 2 fingers. This patch updates the logic to ignore small dips in pressure that are less than the threshold. Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-06-03Input: wacom - clear Intuos4 wheel data when finger leaves proximityPing Cheng
Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-05-29Merge branch 'for-linus' of ↵Linus Torvalds
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: libps2 - better handle bad scheduler decisions Input: usb1400_ts - fix access to "device data" in resume function Input: multitouch - augment event semantics documentation Input: multitouch - add tracking ID to the protocol
2009-05-28Input: libps2 - better handle bad scheduler decisionsDmitry Torokhov
Sometimes devices send us their responses in time but due to unfortunate scheduling decisions the receiving thread does not get scheduled till much later and we erroneously decide that device timed out. Work around this problem by checking whether we received the data we needed instead of checking timeout condition. Tested-by: Sitsofe Wheeler <sitsofe@yahoo.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-05-27Input: usb1400_ts - fix access to "device data" in resume functionManuel Traut
platform_data != driver_data driver data is actually the "correct" place of the struct however it is not placed there due to the need of the ac97 struct. This is broken since d9105c2b01 aka "[ARM] 5184/1: Split ucb1400_ts into core and touchscreen" Signed-off-by: Manuel Traut <manut@linutronix.de> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-05-23Input: multitouch - add tracking ID to the protocolHenrik Rydberg
There are a few multi-touch devices that support finger tracking well in hardware, Stantum being the prime example. By exposing the tracking ID in the MT protocol, evdev bandwidth and cpu usage in user space can be reduced. This patch adds the ABS_MT_TRACKING_ID to the MT protocol. Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Tested-by: Stéphane Chatty <chatty@enac.fr> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-05-20[ARM] 5519/1: amba probe: pass "struct amba_id *" instead of void *Alessandro Rubini
The second argument of the probe method points to the amba_id structure, so it's better passed with the correct type. None of the current in-tree drivers uses the pointer, so they have only been checked for a clean compile. Change suggested by Russell King. Signed-off-by: Alessandro Rubini <rubini@unipv.it> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-05-19Input: add driver for EETI touchpanelsDaniel Mack
This patch adds a driver for EETI's I2C connected touchscreens. Signed-off-by: Daniel Mack <daniel@caiaq.de> Tested-by: Sven Neumann <s.neumann@raumfeld.com> Acked-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-05-19Input: ads7846 - more detailed model name in sysfsMichael Roth
Signed-off-by: Michael Roth <mroth@nessie.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-05-19Input: ads7846 - support swapping x and y axesMichael Roth
Signed-off-by: Michael Roth <mroth@nessie.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-05-19Input: ati_remote2 - use non-atomic bitopsVille Syrjala
No point in using atomic bitops when setting the input device keybits. Signed-off-by: Ville Syrjala <syrjala@sci.fi> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-05-15Input: introduce lm8323 keypad driverFelipe Balbi
lm8323 is the keypad driver used in n810 device. [akpm@linux-foundation.org: coding-style fixes] [dtor@mail.ru: various cleanups] Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com> Reviewed-by: Trilok Soni <soni.trilok@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-05-15Input: psmouse - ESD workaround fix for OLPC XO touchpadZephaniah E. Hull
It appears that when the XO touchpad unit resets from ESD, it sends AA AA instead of AA 00, the psmouse-base code handles the case of AA 00 by triggering a serio reconnect for the port, causing a full reprobe of the device. Testing with OFW shows that this is likely to solve the problem, so the attached patch simply expands the existing test to also catch AA AA. Signed-off-by: Andres Salomon <dilinger@debian.org> Signed-off-by: Deepak Saxena <dsaxena@laptop.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-05-15Input: tsc2007 - make sure platform provides get_pendown_state()Kwangwoo Lee
The platform codes must provide get_pendown_state() for the driver to work properly. Signed-off-by: Kwangwoo Lee <kwangwoo.lee@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-05-15Input: uinput - flush all pending ff effects before destroying deviceAristeu Sergio Rozanski Filho
The destruction of a input device in uinput is triggered by an ioctl(). If a process tries to destroy an input device while other is uploading a force feedback effect by evdev to the same device, they'll deadlock. This patch fixes the problem by flushing all pending FF uploads before destroying the device and preventing new uploads during this operation. [dtor@mail.ru: fix logic that ensures we don't submit new requests to the device that is being destroyed.] Signed-off-by: Aristeu Rozanski <aris@redhat.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-05-12Merge branch 'for-linus' of ↵Linus Torvalds
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: tsc2007 - fix locking in hrtimer handler Input: atkbd - add force release keys quirk for Amilo Xi 3650 Input: ff-memless - fix signed to unsigned bit overflow Input: joydev - blacklist digitizers
2009-05-11Input: tsc2007 - fix locking in hrtimer handlerThierry Reding
Now that hrtimers are always running in hard irq context we can't unconditionally enable interrupts at the end of the timer function. Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Kwangwoo Lee <kwangwoo.lee@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-05-11Input: atkbd - add force release keys quirk for Amilo Xi 3650Adrian Batzill
Signed-off-by: Adrian Batzill <agib@gmx.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-05-11Input: simplify name handling for certain input handlesThadeu Lima de Souza Cascardo
For evdev, joydev and mousedev, instead of having a separate character array holding name of the handle, use struct devce's name which is the same. Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-05-09Input: serio - do not use deprecated dev.power.power_stateDmitry Torokhov
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-05-08Input: wacom - add support for Intuos4 tabletsPing Cheng
Signed-oof-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-05-08Input: lifebook - don't send incomplete eventsDmitry Torokhov
When we get a relative packet from trackpoint (when we deal with touchscreen/trackpoint combo) we should not send events for the device corresponding to touchscreen as it confuses evtouch driver (it looks like it keeps previously reported absolute coordinates and the cursor stays in the same place). Reported-by: Marcin Drewka <laimoriel@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-05-08Input: ALPS - Dell Latitude D630/D800 have DualPointDmitry Torokhov
Dell Latitude D630/D800 have DualPoint (touchpad plus trackpoint) instead of a simple touchpad and a pass-through port for external PS/2 mouse. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>