aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input
Commit message (Collapse)AuthorAgeFilesLines
* Input: aiptek - fix crash on detecting device without endpointsVladis Dronov2016-05-171-0/+9
| | | | | | | | | | | | The aiptek driver crashes in aiptek_probe() when a specially crafted USB device without endpoints is detected. This fix adds a check that the device has proper configuration expected by the driver. Also an error return value is changed to more matching one in one of the error paths. Change-Id: I02fa4ffcbe9a71948947ef5baeb72632688d9d07 Reported-by: Ralf Spenneberg <ralf@spenneberg.net> Signed-off-by: Vladis Dronov <vdronov@redhat.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* Input: aiptek - adjust error-handling code labelJulia Lawall2016-05-171-1/+1
| | | | | | | | | | At the point of this error-handling code, aiptek->urb has been allocated, and it does not appear to be less necessary to free it here than in the error-handling code just below. Change-Id: I1b07d7cd62a3df78759dd5a9a5ad27e58350df01 Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* cypress: Port BLN for smdk4210Arnab Chaudhuri2016-05-0824-0/+12225
| | | | | | | BLN code originally by neldar. Adapted for SGSII by creams. Ported by gokhanmoral. Change-Id: I3e51026a9057be47586378994f61719177507b84
* Input: add infrastructure for selecting clockid for event time stampsJohn Stultz2016-03-161-4/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | As noted by Arve and others, since wall time can jump backwards, it is difficult to use for input because one cannot determine if one event occurred before another or for how long a key was pressed. However, the timestamp field is part of the kernel ABI, and cannot be changed without possibly breaking existing users. This patch adds a new IOCTL that allows a clockid to be set in the evdev_client struct that will specify which time base to use for event timestamps (ie: CLOCK_MONOTONIC instead of CLOCK_REALTIME). For now we only support CLOCK_MONOTONIC and CLOCK_REALTIME, but in the future we could support other clockids if appropriate. The default remains CLOCK_REALTIME, so we don't change the ABI. Signed-off-by: John Stultz <john.stultz@linaro.org> Reviewed-by: Daniel Kurtz <djkurtz@google.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Conflicts: include/linux/input.h Change-Id: I7b9b442dcd7930a1e72c688327e6fb7275107128
* input: Don't use monotonic time for event time stamps.Ziyan2016-03-161-4/+1
| | | | Change-Id: Id0a5c96eb8a7d1d8e08bd3b7a4ac50cdc9c73f39
* Merge "synaptics_s7301: add disabling keypad" into cm-11.0sbrissen2014-06-022-13/+51
|\
| * synaptics_s7301: add disabling keypadsbrissen2014-03-262-13/+51
| | | | | | | | Change-Id: I5af258d2245024918f08a1a7c93c6efcc4d177b3
* | smdk4412: cypress-touchkey - add keydisablersbrissen2014-03-281-0/+41
|/ | | | Change-Id: I85efd4c5b2d6a7283c430f5eca2a730ef6b03d18
* smdk4412: fix mag cover turning screen offsbrissen2013-12-131-1/+3
| | | | | | | when charger is plugged in or disconnected while cover is closed and then opened. Change-Id: Ifa74d3d0689e1a5c84a4683c2fe24918bc5ab87a
* Add support for Note 8 (N5100 and N5110)sbrissen2013-11-1114-69/+11541
| | | | Change-Id: I6c9798682f9f6349b37cb452353bd0c0e6958401
* d710: cypress: fix home button and auto-update defconfigDorian Snyder2013-09-011-1/+1
| | | | Change-Id: I1dd142d0b168101a8170e742d115bf70a47daa48
* Fix kernel build errorarrrghhh2013-08-311-1/+1
| | | | Change-Id: I1191517240ae7bcfb2fcbbffc98e22f28e8fa151
* cypress-touchkey: remove backlight timeout featureDaniel Hillenbrand2013-08-235-415/+175
| | | | | | | | | Userspace implementation: http://review.cyanogenmod.org/48796 http://review.cyanogenmod.org/48872 http://review.cyanogenmod.org/48884 Change-Id: Id4ac50168220310e82aa4aae367dad4e72e3a9c3
* cypress: report led status via sysfsDaniel Hillenbrand2013-08-211-1/+12
| | | | Change-Id: Iddecb0688e758eca3ba77b520510a6728ad1e3bb
* mxt224_u1: Silence some status messagessakindia1232013-05-261-3/+3
| | | | Change-Id: Ied425b0a0c8cd83ba96fdbdfa15a979af59f7cae
* u1: import from CyanogenMod/android_kernel_samsung_smdk4210Daniel Hillenbrand2013-05-252-167/+150
| | | | Change-Id: I9629a4060538c9c4c6a43a86a56826cd7123d1b5
* Merge branch 'cm-10.1-experimental' into HEADcodeworkx2013-03-165-4/+38
|\
| * Merge remote-tracking branch 'kernelorg/linux-3.0.y' into 3_0_64Andrew Dodd2013-02-275-4/+38
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: arch/arm/Kconfig arch/arm/include/asm/hwcap.h arch/arm/kernel/smp.c arch/arm/plat-samsung/adc.c drivers/gpu/drm/i915/i915_reg.h drivers/gpu/drm/i915/intel_drv.h drivers/mmc/core/sd.c drivers/net/tun.c drivers/net/usb/usbnet.c drivers/regulator/max8997.c drivers/usb/core/hub.c drivers/usb/host/xhci.h drivers/usb/serial/qcserial.c fs/jbd2/transaction.c include/linux/migrate.h kernel/sys.c kernel/time/timekeeping.c lib/genalloc.c mm/memory-failure.c mm/memory_hotplug.c mm/mempolicy.c mm/page_alloc.c mm/vmalloc.c mm/vmscan.c mm/vmstat.c scripts/Kbuild.include Change-Id: I91e2d85c07320c7ccfc04cf98a448e89bed6ade6
| | * Input: walkera0701 - fix crash on startupPeter Popovec2013-01-111-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit a455e2985f57e2a71566bb8850094af38b2c932d upstream. The driver's timer must be set up before enabling IRQ handler, otherwise bad things may happen. Reported-and-tested-by: Fengguang Wu <fengguang.wu@intel.com> Signed-off-by: Peter Popovec <popovec@fei.tuke.sk> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * x86, 8042: Enable A20 using KBC to fix S3 resume on some MSI laptopsOndrej Zary2013-01-111-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit ad68652412276f68ad4fe3e1ecf5ee6880876783 upstream. Some MSI laptop BIOSes are broken - INT 15h code uses port 92h to enable A20 line but resume code assumes that KBC was used. The laptop will not resume from S3 otherwise but powers off after a while and then powers on again stuck with a blank screen. Fix it by enabling A20 using KBC in i8042_platform_init for x86. Fixes https://bugzilla.kernel.org/show_bug.cgi?id=12878 Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Cc: Rafael J. Wysocki <rjw@sisk.pl> Link: http://lkml.kernel.org/r/201212112218.06551.linux@rainbow-software.org Signed-off-by: H. Peter Anvin <hpa@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * Input: bcm5974 - set BUTTONPAD propertyJussi Pakkanen2012-12-031-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 52965cc012f7a3cf35f06485ec275ebf3b3fddae upstream. Some bcm5974 trackpads have a physical button beneath the physical surface. This patch sets the property bit so user space applications can detect the trackpad type and act accordingly. Signed-off-by: Jussi Pakkanen <jussi.pakkanen@canonical.com> Reviewed-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Cc: maximilian attems <max@stro.at> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * Input: i8042 - disable mux on Toshiba C850DAnisse Astier2012-10-021-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 8669cf6793bb38307a30fb6b9565ddc8840ebd3f upstream. On Toshiba Satellite C850D, the touchpad and the keyboard might randomly not work at boot. Preventing MUX mode activation solves this issue. Signed-off-by: Anisse Astier <anisse@astier.eu> Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * Input: i8042 - add Gigabyte T1005 series netbooks to noloop tableDmitry Torokhov2012-09-141-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 7b125b94ca16b7e618c6241cb02c4c8060cea5e3 upstream. They all define their chassis type as "Other" and therefore are not categorized as "laptops" by the driver, which tries to perform AUX IRQ delivery test which fails and causes touchpad not working. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=42620 Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * Input: wacom - Bamboo One 1024 pressure fixChris Bagwell2012-08-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 6dc463511d4a690f01a9248df3b384db717e0b1c upstream. Bamboo One's with ID of 0x6a and 0x6b were added with correct indication of 1024 pressure levels but the Graphire packet routine was only looking at 9 bits. Increased to 10 bits. This bug caused these devices to roll over to zero pressure at half way mark. The other devices using this routine only support 256 or 512 range and look to fix unused bits at zero. Signed-off-by: Chris Bagwell <chris@cnpbagwell.com> Reported-by: Tushant Mirchandani <tushantin@gmail.com> Reviewed-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * Input: xpad - add Andamiro Pump It Up padYuri Khan2012-07-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit e76b8ee25e034ab601b525abb95cea14aa167ed3 upstream. I couldn't find the vendor ID in any of the online databases, but this mat has a Pump It Up logo on the top side of the controller compartment, and a disclaimer stating that Andamiro will not be liable on the bottom. Signed-off-by: Yuri Khan <yurivkhan@gmail.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | | melfas touch: report touch events to cypress for backlight timeoutcodeworkx2013-03-031-0/+34
|/ / | | | | | | Change-Id: I9f7470566d740e90a3e8d595fec34ba21b3ff1e1
* | n7100 supportimilka2012-11-1173-519/+11145
| | | | | | | | Change-Id: I111e3be9a1c6ea8b68eab5c87fa6c084ba9bb5c3
* | mms_ts: comment some debugging codecodeworkx2012-09-251-2/+2
| | | | | | | | Change-Id: I2cc00c526b06a15c78e68d8b4111fdb9dabb9771
* | synaptics: Add S7301 touchscreen driverAndrew Dodd2012-09-227-0/+6328
| | | | | | | | Change-Id: Id03320d59aef53ebb77a2ddc008361912e2764ba
* | merge opensource jb u5codeworkx2012-09-2278-17331/+60944
| | | | | | | | Change-Id: I1aaec157aa196f3448eff8636134fce89a814cf2
* | Merge linux-3.0.31 from korg into jellybeancodeworkx2012-09-182-2/+16
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: arch/arm/mm/proc-v7.S drivers/base/core.c drivers/gpu/drm/i915/i915_gem_execbuffer.c drivers/gpu/drm/i915/intel_display.c drivers/gpu/drm/i915/intel_lvds.c drivers/gpu/drm/radeon/evergreen.c drivers/gpu/drm/radeon/r100.c drivers/gpu/drm/radeon/radeon_connectors.c drivers/gpu/drm/radeon/rs600.c drivers/usb/core/hub.c drivers/usb/host/xhci-pci.c drivers/usb/host/xhci.c drivers/usb/serial/qcserial.c fs/proc/base.c Change-Id: Ia98b35db3f8c0bfd95817867d3acb85be8e5e772
| * Input: ALPS - fix touchpad detection when buttons are pressedAkio Idehara2012-03-121-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 99c90ab31fad855b9da9dee3a5aa6c27f263e9d6 upstream. ALPS touchpad detection fails if some buttons of ALPS are pressed. The reason is that the "E6" query response byte is different from what is expected. This was tested on a Toshiba Portege R500. Signed-off-by: Akio Idehara <zbe64533@gmail.com> Tested-by: Seth Forshee <seth.forshee@canonical.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * Input: synaptics - fix touchpad not working after S2R on Vostro V13Dmitry Torokhov2012-01-061-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 8521478f67e95ada4e87970c7b41e504c724b2cf upstream. Synaptics touchpads on several Dell laptops, particularly Vostro V13 systems, may not respond properly to PS/2 commands and queries immediately after resuming from suspend to RAM. This leads to unresponsive touchpad after suspend/resume cycle. Adding a 1-second delay after resetting the device allows touchpad to finish initializing (calibrating?) and start reacting properly. Reported-by: Daniel Manrique <daniel.manrique@canonical.com> Tested-by: Daniel Manrique <daniel.manrique@canonical.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | cypress, mms_ts: disable debuggingcodeworkx2012-08-252-16/+15
| | | | | | | | Change-Id: Ie2b90efb763e1f80de4b57056ca447836c4ee2a4
* | samsung opensource update3Daniel Hillenbrand2012-07-212-7/+39
| |
* | samsung opensource update 2Daniel Hillenbrand2012-07-211-1/+2
| |
* | cypress: support reading of timeout and force_disable sysfsDaniel Hillenbrand2012-06-171-4/+26
| |
* | cypress: user configurable touchled timeout, allow to force disable ledsDaniel Hillenbrand2012-06-163-11/+208
| |
* | samsung update 1codeworkx2012-06-02138-26/+148697
|/
* input: pmic8xxx-pwrkey: Do not use mfd_get_data()Samuel Ortiz2011-07-051-1/+2
| | | | | | | mfd_get_data() has been removed from the MFD API. Cc: Anirudh Ghayal <aghayal@codeaurora.org> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* input: pmic8xxx-keypad: Do not use mfd_get_data()Samuel Ortiz2011-07-051-1/+2
| | | | | | | mfd_get_data() has been removed from the MFD API. Cc: Anirudh Ghayal <aghayal@codeaurora.org> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* Merge branch 'for-linus' of ↵Linus Torvalds2011-06-205-5/+7
|\ | | | | | | | | | | | | | | | | | | 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: sh_keysc - 8x8 MODE_6 fix Input: omap-keypad - add missing input_sync() Input: evdev - try to wake up readers only if we have full packet Input: properly assign return value of clamp() macro.
| * Input: sh_keysc - 8x8 MODE_6 fixMagnus Damm2011-06-181-1/+1
| | | | | | | | | | | | | | | | | | According to the data sheet for G4, AP4 and AG5 KEYSC MODE_6 is 8x8 keys. Bump up MAXKEYS to 64 too. Signed-off-by: Magnus Damm <damm@opensource.se> Reviewed-by: Simon Horman <horms@verge.net.au> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: omap-keypad - add missing input_sync()Janusz Krzysztofik2011-06-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Otherwise the updated evdev driver (commit cdda911c34006f1089f3c87b1a1f, "Input: evdev - only signal polls on full packets") no longer works on top of omap-keypad. Tested on Amstrad Delta. Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl> Reviewed-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: evdev - try to wake up readers only if we have full packetDmitry Torokhov2011-06-181-1/+2
| | | | | | | | | | | | | | | | | | | | We should only wake waiters on the event device when we actually post an EV_SYN/SYN_REPORT to the queue. Otherwise we end up making waiting threads runnable only to go right back to sleep because the device still isn't readable. Reported-by: Jeffrey Brown <jeffbrown@android.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: properly assign return value of clamp() macro.Hans Petter Selasky2011-05-252-3/+3
| | | | | | | | | | | | | | [dtor@mail.ru: added mousedev changes] Signed-off-by: Hans Petter Selasky <hselasky@c2i.net> Cc: stable@kernel.org Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Revert "tty: make receive_buf() return the amout of bytes received"Linus Torvalds2011-06-041-8/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit b1c43f82c5aa265442f82dba31ce985ebb7aa71c. It was broken in so many ways, and results in random odd pty issues. It re-introduced the buggy schedule_work() in flush_to_ldisc() that can cause endless work-loops (see commit a5660b41af6a: "tty: fix endless work loop when the buffer fills up"). It also used an "unsigned int" return value fo the ->receive_buf() function, but then made multiple functions return a negative error code, and didn't actually check for the error in the caller. And it didn't actually work at all. BenH bisected down odd tty behavior to it: "It looks like the patch is causing some major malfunctions of the X server for me, possibly related to PTYs. For example, cat'ing a large file in a gnome terminal hangs the kernel for -minutes- in a loop of what looks like flush_to_ldisc/workqueue code, (some ftrace data in the quoted bits further down). ... Some more data: It -looks- like what happens is that the flush_to_ldisc work queue entry constantly re-queues itself (because the PTY is full ?) and the workqueue thread will basically loop forver calling it without ever scheduling, thus starving the consumer process that could have emptied the PTY." which is pretty much exactly the problem we fixed in a5660b41af6a. Milton Miller pointed out the 'unsigned int' issue. Reported-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Reported-by: Milton Miller <miltonm@bga.com> Cc: Stefan Bigler <stefan.bigler@keymile.com> Cc: Toby Gray <toby.gray@realvnc.com> Cc: Felipe Balbi <balbi@ti.com> Cc: Greg Kroah-Hartman <gregkh@suse.de> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | input: Add support for Qualcomm PMIC8XXX power keyTrilok Soni2011-05-263-0/+243
| | | | | | | | | | | | | | | | | | | | Add support for PMIC8XXX power key driven over dedicated KYPD_PWR_N pin. Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Trilok Soni <tsoni@codeaurora.org> Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* | input: Add Qualcomm pm8xxx keypad controller driverTrilok Soni2011-05-263-0/+811
| | | | | | | | | | | | | | | | | | | | Add Qualcomm PMIC8XXX based keypad controller driver supporting upto 18x8 matrix configuration. Acked-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Trilok Soni <tsoni@codeaurora.org> Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* | mfd: Use mfd cell platform_data for twl4030 codec cells platform bitsSamuel Ortiz2011-05-261-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | With the addition of a platform device mfd_cell pointer, MFD drivers can go back to passing platform data back to their sub drivers. This allows for an mfd_cell->mfd_data removal and thus keep the sub drivers MFD agnostic. This is mostly needed for non MFD aware sub drivers. Cc: Peter Ujfalusi <peter.ujfalusi@nokia.com> Cc: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: Liam Girdwood <lrg@slimlogic.co.uk> Cc: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>