aboutsummaryrefslogtreecommitdiff
path: root/drivers/input
AgeCommit message (Collapse)AuthorFilesLines
2013-12-31Input: cros_ec_keyb - fix problems with backslashDoug Anderson1-4/+11
The driver can't deal with two entries its keymap having the same keycode. When this happens it will get confused about whether the key is down or up and will cause some screwy behavior. We need to have two entries for KEY_BACKSLASH to handle US and UK keyboards. Specifically: * On the US keyboard the backslash key (above enter) is r3 c11 and is supposed to be reported as BACKSLASH. * On the UK keyboard the # key (left of enter) is r4 c10 and is supposed to be reported as BACKSLASH. * On the UK keyboard the \ key (left of Z) is r2 c7 and is supposed to be reported as KEY_102ND. Note that both keyboards (US and UK) have only one physical backslash key so the constraint that each physical key should have its own keycode still stands. Signed-off-by: Doug Anderson <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2013-12-29ARM: 7904/1: input: ambakmi: Remove unnecessary amba_set_drvdata()Michal Simek1-2/+0
Driver core clears the driver data to NULL after device_release or on probe failure, so just remove it from here. Driver core change: "device-core: Ensure drvdata = NULL when no driver is bound" (sha1: 0998d0631001288a5974afc0b2a5f568bcdecb4d) Signed-off-by: Michal Simek <[email protected]> Signed-off-by: Russell King <[email protected]>
2013-12-27Input: pmic8xxx-pwrkey - switch to using managed resourcesDmitry Torokhov1-49/+25
This simplifies error handling and device removal paths. Acked-by: Stephen Boyd <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2013-12-27Input: pmic8xxx-pwrkey - pass correct device identity to free_irq()Wei Yongjun1-1/+1
free_irq() in the error handling case is missing when change pass input device directly to interrupt. Fixes: b27f8fee4965('Input: pmic8xxx-pwrkey - pass input device directly to interrupt') Signed-off-by: Wei Yongjun <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2013-12-26Input: ALPS - add support for "Dolphin" devicesYunkang Tang2-42/+179
This adds support for another flavor of ALPS protocol used in newer "Dolphin" devices. Signed-off-by: Yunkang Tang <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2013-12-26Merge tag 'tegra-for-3.14-dmas-resets-rework' of ↵Olof Johansson1-3/+10
git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/cleanup From Stephen Warren: ARM: tegra: implement common DMA and resets DT bindings This series converts the Tegra DTs and drivers to use the common/ standard DMA and reset bindings, rather than custom bindings. It also adds complete documentation for the Tegra clock bindings without actually changing any binding definitions. This conversion relies on a few sets of patches in branches from outside the Tegra tree: 1) A patch to add an DMA channel request API which allows deferred probe to be implemented. 2) A patch to implement a common part of the of_xlate function for DMA controllers. 3) Some ASoC patches (which in turn rely on (1) above), which support deferred probe during DMA channel allocation. 4) The Tegra clock driver changes for 3.14. Consequently, this branch is based on a merge of all of those external branches. In turn, this branch is or will be pulled into a few places that either rely on features introduced here, or would otherwise conflict with the patches: a) Tegra's own for-3.14/powergate and for-4.14/dt branches, to avoid conflicts. b) The DRM tree, which introduces new code that relies on the reset controller framework introduced in this branch, and to avoid conflicts. * tag 'tegra-for-3.14-dmas-resets-rework' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: (30 commits) spi: tegra: checking for ERR_PTR instead of NULL ASoC: tegra: update module reset list for Tegra124 clk: tegra: remove bogus PCIE_XCLK clk: tegra: remove legacy reset APIs ARM: tegra: remove legacy DMA entries from DT ARM: tegra: remove legacy clock entries from DT USB: EHCI: tegra: use reset framework Input: tegra-kbc - use reset framework serial: tegra: convert to standard DMA DT bindings serial: tegra: use reset framework spi: tegra: convert to standard DMA DT bindings spi: tegra: use reset framework staging: nvec: use reset framework i2c: tegra: use reset framework ASoC: tegra: convert to standard DMA DT bindings ASoC: tegra: allocate AHUB FIFO during probe() not startup() ASoC: tegra: call pm_runtime APIs around register accesses ASoC: tegra: use reset framework dma: tegra: register as an OF DMA controller dma: tegra: use reset framework ... Signed-off-by: Olof Johansson <[email protected]>
2013-12-20input: ixp4xx-beeper: don't use symbols from <mach/timex.h>Uwe Kleine-König1-1/+1
mach/timex.h is about to be dropped so don't use symbols defined in there. For ixp4xx there is a suitable substitute for IXP4XX_TIMER_FREQ, i.e. a global and exported variable that holds the same value. Acked-by: Dmitry Torokhov <[email protected]> Signed-off-by: Uwe Kleine-König <[email protected]>
2013-12-18Input: zforce - fix error return code in zforce_start()Wei Yongjun1-1/+2
The error code was not set if unable to set config, so the error condition wasn't reflected in the return value. Fix to return a negative error code from the error handling case instead of 0. Signed-off-by: Wei Yongjun <[email protected]> Acked-by: Heiko Stuebner <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2013-12-18Input: elantech - improve clickpad detectionHans de Goede1-3/+42
The current assumption in the elantech driver that hw version 3 touchpads are never clickpads and hw version 4 touchpads are always clickpads is wrong. There are several bug reports for this, ie: https://bugzilla.redhat.com/show_bug.cgi?id=1030802 http://superuser.com/questions/619582/right-elantech-touchpad-button-not-working-in-linux I've spend a couple of hours wading through various bugzillas, launchpads and forum posts to create a list of fw-versions and capabilities for different laptop models to find a good method to differentiate between clickpads and versions with separate hardware buttons. Which shows that a device being a clickpad is reliable indicated by bit 12 being set in the fw_version. I've included the gathered list inside the driver, so that we've this info at hand if we need to revisit this later. Signed-off-by: Hans de Goede <[email protected]> Reviewed-by: Benjamin Tissoires <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2013-12-16Merge 3.13-rc4 into tty-nextGreg Kroah-Hartman11-22/+254
We want the fixes in here as well.
2013-12-16Input: don't call input_dev_release_keys() in resumeAleksej Makarov1-19/+57
When waking up the platform by pressing a specific key, sending a release on that key makes it impossible to react on the event in user-space. This is fixed by moving the input_reset_device() call to resume instead. [[email protected]: make sure we still restore LED/sound state after resume, handle hibernation properly] Signed-off-by: Aleksej Makarov <[email protected]> Signed-off-by: Oskar Andero <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2013-12-16Input: ads7846 - convert to hwmon_device_register_with_groups()Guenter Roeck1-56/+25
Simplify the code and create mandatory 'name' attribute by using new hwmon API. Also use is_visible to determine visible attributes instead of creating several different attribute groups. Signed-off-by: Guenter Roeck <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2013-12-16Input: wacom - add reporting of SW_MUTE_DEVICE eventsPing Cheng3-3/+44
New Intuos series models added a hardware switch to turn touch data on/off. The state of the switch is reported periodically from the tablet. To report the state the driver will emit SW_MUTE_DEVICE events. Reviewed_by: Chris Bagwell <[email protected]> Acked-by: Peter Hutterer <[email protected]> Tested-by: Jason Gerecke <[email protected]> Signed-off-by: Ping Cheng <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2013-12-16Merge tag 'v3.13-rc4' into nextDmitry Torokhov23-99/+375
Synchronize with mainline to bring in the new keycode definitions and new hwmon API.
2013-12-15Input: pmic8xxx-pwrkey - migrate to regmap APIsStephen Boyd1-4/+11
Use the regmap APIs for this driver instead of custom pm8xxx APIs. This breaks this driver's dependency on the pm8xxx APIs and allows us to easily port it to other bus protocols in the future. Signed-off-by: Stephen Boyd <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2013-12-15Input: pmic8xxx-pwrkey - pass input device directly to interruptStephen Boyd1-12/+12
Instead of passing the pointer to the container structure just pass the input device here. This saves a dereference in the fast path. Signed-off-by: Stephen Boyd <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2013-12-15Input: pm8xxx-vibrator - migrate to regmap APIsStephen Boyd1-47/+14
Use the regmap APIs for this driver instead of custom pm8xxx APIs. This breaks this driver's dependency on the pm8xxx APIs and allows us to easily port it to other bus protocols in the future. Signed-off-by: Stephen Boyd <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2013-12-15Input: pm8xxx-vibrator - switch to using managed resourcesStephen Boyd1-31/+12
Simplify the error paths and reduce the lines of code in this driver by using the devm_* APIs. Signed-off-by: Stephen Boyd <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2013-12-15Input: cyttsp - include appropriate header file in cyttsp_i2c_common.cRashika Kheria1-0/+2
Include cyttsp4_core.h in cyttsp_i2c_common.c to ensure that implementation of cyttsp_i2c_read_block_data() and cyttsp_i2c_write_block_data() match what the rest of the driver expects. Thus, it also eliminates the following warning in cyttsp_i2c_common.c: drivers/input/touchscreen/cyttsp_i2c_common.c:34:5: warning: no previous prototype for ‘cyttsp_i2c_read_block_data’ [-Wmissing-prototypes] drivers/input/touchscreen/cyttsp_i2c_common.c:64:5: warning: no previous prototype for ‘cyttsp_i2c_write_block_data’ [-Wmissing-prototypes] Signed-off-by: Rashika Kheria <[email protected]> Reviewed-by: Josh Triplett <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2013-12-15Input: zforce - fix possible driver hang during suspendHeiko Stübner1-6/+15
handle_level_irq masks the interrupt before handling it, and only unmasks it after the handler is finished. So when a touch event happens after threads are suspended, but before the system is fully asleep the irq handler tries to wakeup the thread which will only happen on the next resume, resulting in the wakeup event never being sent and the driver not being able to wake the system from sleep due to the masked irq. Therefore move the wakeup_event to a small non-threaded handler. Signed-off-by: Heiko Stuebner <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2013-12-11Input: tegra-kbc - use reset frameworkStephen Warren1-3/+10
Tegra's clock driver now provides an implementation of the common reset API (include/linux/reset.h). Use this instead of the old Tegra- specific API; that will soon be removed. Signed-off-by: Stephen Warren <[email protected]> Acked-by: Dmitry Torokhov <[email protected]> Reviewed-by: Thierry Reding <[email protected]>
2013-12-09Input: adxl34x - Fix bug in definition of ADXL346_2D_ORIENTMichael Hennerich1-1/+1
Coverity report pointet out by Dmitry Reported-by: Dmitry Torokhov <[email protected]> Signed-off-by: Michael Hennerich <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2013-12-09Input: serio - fix sysfs layoutDmitry Torokhov1-7/+17
Restore previous layout of sysfs attributes that was broken by commit 3778a2129bcce84f684cc0017ed20d2524afd289 (input: serio: remove bus usage of dev_attrs) which moved all serio device attributes into 'id' group, when only 'type', 'proto', 'id', and 'extra' should be in 'id' group and the rest of attributes should be attached directly to the device. Reported-by: Thomas Hellstrom <[email protected]> Tested-by: Thomas Hellstrom <[email protected]> Acked-by: Greg Kroah-Hartman <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2013-12-09Merge tag 'v3.13-rc3' into for-linusDmitry Torokhov9-64/+78
Merging with the mainline to sync up on changes to serio core.
2013-12-08tty: Always handle NULL flag ptrPeter Hurley1-13/+15
Most line disciplines already handle the undocumented NULL flag ptr in their .receive_buf method; however, several don't. Document the NULL flag ptr, and correct handling in the N_MOUSE, N_GSM0710 and N_R394 line disciplines. Signed-off-by: Peter Hurley <[email protected]> Acked-by: Dmitry Torokhov <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-12-07Input: samsung-keypad - favor platform data if presentDmitry Torokhov1-15/+21
We should be able to override firmware-provided parameters with in-kernel data, if needed. To that effect favor platform data, if present, over devicetree data. Acked-by: Joonyoung Shim <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2013-12-07ACPI: Clean up inclusions of ACPI header filesLv Zheng1-1/+1
Replace direct inclusions of <acpi/acpi.h>, <acpi/acpi_bus.h> and <acpi/acpi_drivers.h>, which are incorrect, with <linux/acpi.h> inclusions and remove some inclusions of those files that aren't necessary. First of all, <acpi/acpi.h>, <acpi/acpi_bus.h> and <acpi/acpi_drivers.h> should not be included directly from any files that are built for CONFIG_ACPI unset, because that generally leads to build warnings about undefined symbols in !CONFIG_ACPI builds. For CONFIG_ACPI set, <linux/acpi.h> includes those files and for CONFIG_ACPI unset it provides stub ACPI symbols to be used in that case. Second, there are ordering dependencies between those files that always have to be met. Namely, it is required that <acpi/acpi_bus.h> be included prior to <acpi/acpi_drivers.h> so that the acpi_pci_root declarations the latter depends on are always there. And <acpi/acpi.h> which provides basic ACPICA type declarations should always be included prior to any other ACPI headers in CONFIG_ACPI builds. That also is taken care of including <linux/acpi.h> as appropriate. Signed-off-by: Lv Zheng <[email protected]> Cc: Greg Kroah-Hartman <[email protected]> Cc: Matthew Garrett <[email protected]> Cc: Tony Luck <[email protected]> Cc: "H. Peter Anvin" <[email protected]> Acked-by: Bjorn Helgaas <[email protected]> (drivers/pci stuff) Acked-by: Konrad Rzeszutek Wilk <[email protected]> (Xen stuff) Signed-off-by: Rafael J. Wysocki <[email protected]>
2013-12-06Input: use dev_get_platdata()Jingoo Han51-67/+79
Use the wrapper function for retrieving the platform data instead of accessing dev->platform_data directly. This is a cosmetic change to make the code simpler and enhance the readability. Signed-off-by: Jingoo Han <[email protected]> Acked-by: Fugang Duan <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2013-12-05Input: sh_keysc - restrict non-COMPILE_TEST compilationLaurent Pinchart1-1/+1
Hardware supported by the driver is only found on SUPERH or ARCH_SHMOBILE platforms. Restrict non-COMPILE_TEST compilation to them. Signed-off-by: Laurent Pinchart <[email protected]> Acked-by: Simon Horman <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2013-12-05Input: ALPS - add support for DualPoint device on Dell XT2 modelYunkang Tang2-3/+204
The device uses special MPU controller that necessitates the new initialization sequence for the device. We also define a new protocol for the trackpad that allows reporting better resolution than older V2 protocol. Signed-off-by: Yunkang Tang <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2013-12-05Input: elantech - add support for newer (August 2013) devicesMatt Walker1-0/+1
Added detection for newer Elantech touchpads, so that kernel doesn't fall-back to default PS/2 driver. Supports touchpads released after ~August 2013. Fixes bug: https://lists.launchpad.net/kernel-packages/msg18481.html Tested on an Acer Aspire S7-392-6302. Signed-off by: Matt Walker <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2013-12-01Input: usbtouchscreen - separate report and transmit buffer size handlingChristian Engelmayer1-4/+18
This patch supports the separate handling of the USB transfer buffer length and the length of the buffer used for multi packet support. For devices supporting multiple report or diagnostic packets, the USB transfer size is now limited to the USB endpoints wMaxPacketSize - otherwise it defaults to the configured report packet size as before. This fixes an issue where event reporting can be delayed for an arbitrary time for multi packet devices. For instance the report size for eGalax devices is defined to the 16 byte maximum diagnostic packet size as opposed to the 5 byte report packet size. In case the driver requests 16 byte from the USB interrupt endpoint, the USB host controller driver needs to split up the request into 2 accesses according to the endpoints wMaxPacketSize of 8 byte. When the first transfer is answered by the eGalax device with not less than the full 8 byte requested, the host controller has got no way of knowing whether the touch controller has got additional data queued and will issue the second transfer. If per example a liftoff event finishes at such a wMaxPacketSize boundary, the data will not be available to the usbtouch driver until a further event is triggered and transfered to the host. From user perspective the BTN_TOUCH release event in this case is stuck until the next touch down event. Signed-off-by: Christian Engelmayer <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2013-12-01Input: sur40 - suppress false uninitialized variable warningDmitry Torokhov1-2/+2
We will never use packet_id before initializing it as we start with "need_blobs == -1" and will set packet_id there. Also use le32_to_cpu when fetching header->packet_id. Signed-off-by: Dmitry Torokhov <[email protected]>
2013-12-01Input: ads7846 - use IS_ENABLED() macroFabio Estevam1-2/+2
Using the IS_ENABLED() macro can make the code shorter and simpler Signed-off-by: Fabio Estevam <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2013-11-26Input: add a new driver for GPIO beeperAlexander Shiyan3-0/+137
This patch adds a new driver for the beeper controlled via GPIO pin. The driver does not depend on the architecture and is positioned as a replacement for the specific drivers that are used for this function. Signed-off-by: Alexander Shiyan <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2013-11-25Input: wacom - add support for three new Intuos devicesPing Cheng3-18/+51
Two tablets in this series support both pen and touch. One (Intuos S) only supports pen. This patch also updates the driver to process wireless devices that do not support touch interface. Tested-by: Jason Gerecke <[email protected]> Reviewed-by: Chris Bagwell <[email protected]> Signed-off-by: Ping Cheng <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2013-11-25Input: wacom - make sure touch_max is set for touch devicesPing Cheng1-2/+5
Old single touch Tablet PCs do not have touch_max set at wacom_features. Since touch device at lease supports one finger, assign touch_max to 1 when touch usage is defined in its HID Descriptor and touch_max is not pre-defined. Tested-by: Jason Gerecke <[email protected]> Signed-off-by: Ping Cheng <[email protected]> Reviewed-by: Chris Bagwell <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2013-11-25Input: wacom - scale up touch width and height values for Intuos ProJason Gerecke1-2/+2
The width and height values reported by the Intuos Pro are not in surface units as required by the MT protocol. A simple multiplier of 100x corrects it. Signed-off-by: Jason Gerecke <[email protected]> Acked-by: Ping Cheng <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2013-11-25Input: serio - remove unnecessary pci_set_drvdata()Jingoo Han1-1/+0
The driver core clears the driver data to NULL after device_release or on probe failure. Thus, it is not needed to manually clear the device driver data to NULL. Signed-off-by: Jingoo Han <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2013-11-25Input: twl4030-pwrbutton - simplify driver using devm_*Sebastian Reichel1-22/+4
Use managed irq resource to simplify the driver. Signed-off-by: Sebastian Reichel <[email protected]> Reviewed-by: Aaro Koskinen <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2013-11-25Input: twl4030-pwrbutton - use dev_err for errorsSebastian Reichel1-3/+3
Use dev_err() to output errors instead of dev_dbg(). Signed-off-by: Sebastian Reichel <[email protected]> Reviewed-by: Aaro Koskinen <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2013-11-25Input: twl4030-pwrbutton - add device tree supportSebastian Reichel1-4/+12
Add device tree support for twl4030 power button driver. Adding device tree support involved converting the driver to module_platform_driver(). Signed-off-by: Sebastian Reichel <[email protected]> Acked-by: Kumar Gala <[email protected]> Tested-by: Florian Vaussard <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2013-11-25Input: tsc2007 - convert to use devres-managed resourcesDmitry Torokhov1-39/+40
This simplifies error handling path and allows us get rid of tsc2007_remove(). Tested-by: Denis Carikli <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2013-11-25Input: tsc2007 - remove unused poll_delay from platform dataDmitry Torokhov1-2/+0
The driver does not use poll_delay parameter, so let's remove it. Tested-by: Denis Carikli <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2013-11-25Input: tsc2007 - add device tree support.Denis Carikli1-40/+133
Signed-off-by: Denis Carikli <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2013-11-25Input: keyboard - "keycode & KEY_MAX" changes some keycode valuesAndrew Liu4-5/+11
For exmaple, keycode: KEY_OK(0x160) is changed by "and" operation with KEY_MAX(0x2ff) to KEY_KPENTER(96). Signed-off-by: Andrew Liu <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2013-11-24Merge branch 'for-linus' of ↵Linus Torvalds6-4/+484
git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input Pull input updates from Dmitry Torokhov: "A new driver for Surface 2.0/Pixelsense touchscreen and a couple of driver fixups" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: MAINTAINERS - add keyboard driver to Hyper-V file list Input: atmel-wm97xx - fix compile error Input: hp_sdc_rtc - unlock on error in hp_sdc_rtc_read_i8042timer() Input: cyttsp4 - remove unnecessary work pending test Input: add sur40 driver for Samsung SUR40 (aka MS Surface 2.0/Pixelsense)
2013-11-22Merge branch 'next' into for-linusDmitry Torokhov6-4/+484
Second round of input updates for 3.13.
2013-11-20Input: atmel-wm97xx - fix compile errorDmitry Torokhov1-1/+1
Reported-by: Fengguang Wu <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2013-11-20Input: hp_sdc_rtc - unlock on error in hp_sdc_rtc_read_i8042timer()Dan Carpenter1-1/+4
The transaction task here is hp_sdc_tasklet() and it releases the lock. The problem is if we aren't able to queue the transaction then we need to release the lock ourselves. Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>