aboutsummaryrefslogtreecommitdiff
path: root/drivers/input
AgeCommit message (Collapse)AuthorFilesLines
2014-05-14Input: logips2pp - fix typo in Kconfig helpDaniele Forsi1-1/+1
s/Logictech/Logitech/ Signed-off-by: Daniele Forsi <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-05-14Input: gpio_keys_polled - convert to devm-* APIAlexander Shiyan1-77/+21
Replace existing resource handling in the driver with managed device resources, this ensures more consistent error values and simplifies error handling paths: kzalloc -> devm_kzalloc gpio_request_one -> devm_gpio_request_one input_allocate_polled_device -> devm_input_allocate_polled_device Signed-off-by: Alexander Shiyan <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-05-14Input: implement managed polled input devicesDmitry Torokhov1-2/+116
Managed resources are becoming more and more popular in drivers. Let's implement managed polled input devices, to complement managed regular input devices. Similarly to managed regular input devices only one new call devm_input_allocate_polled_device() is added and the rest of APIs is modified to work with both managed and non-managed devices. Reviewed-by: David Herrmann <[email protected]> Tested-by: Alexander Shiyan <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-05-14Input: remove race when instantiating polled device attributesDmitry Torokhov1-10/+9
Polled device's attributes controlling polling rate and whether polling is enabled are attached to input device. We should have device core instantiate them for us, so that they are created by the time new device notification is sent to userspace, instead of doing it ourselves afterwards. Tested-by: Alexander Shiyan <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-05-14Input: gpio_keys - more conversions to devm-* APIAlexander Shiyan1-35/+34
Replace existing gpio resource handling in the driver with managed resources, this ensures more consistent error values and simplifies error paths. Signed-off-by: Alexander Shiyan <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-05-14Input: zforce - make of_device_id array constJingoo Han1-1/+1
Make of_device_id array const, because all OF functions handle it as const. Signed-off-by: Jingoo Han <[email protected]> Acked-by: Heiko Stuebner <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-05-14Input: mms114 - make of_device_id array constJingoo Han1-1/+1
Make of_device_id array const, because all OF functions handle it as const. Signed-off-by: Jingoo Han <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-05-14Input: lpc32xx_ts - make of_device_id array constJingoo Han1-1/+1
Make of_device_id array const, because all OF functions handle it as const. Signed-off-by: Jingoo Han <[email protected]> Acked-by: Roland Stigge <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-05-14Input: egalax_ts - make of_device_id array constJingoo Han1-1/+1
Make of_device_id array const, because all OF functions handle it as const. Signed-off-by: Jingoo Han <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-05-14Input: auo-pixcir-ts - make of_device_id array constJingoo Han1-1/+1
Make of_device_id array const, because all OF functions handle it as const. Signed-off-by: Jingoo Han <[email protected]> Acked-by: Heiko Stuebner <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-05-14Input: apbps2 - make of_device_id array constJingoo Han1-1/+1
Make of_device_id array const, because all OF functions handle it as const. Signed-off-by: Jingoo Han <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-05-14Input: olpc_apsp - make of_device_id array constJingoo Han1-1/+1
Make of_device_id array const, because all OF functions handle it as const. Signed-off-by: Jingoo Han <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-05-14Input: rotary_encoder - make of_device_id array constJingoo Han1-1/+1
Make of_device_id array const, because all OF functions handle it as const. Signed-off-by: Jingoo Han <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-05-14Input: gpio-beeper - make of_device_id array constJingoo Han1-1/+1
Make of_device_id array const, because all OF functions handle it as const. Signed-off-by: Jingoo Han <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-05-14Input: imx_keypad - make of_device_id array constJingoo Han1-1/+1
Make of_device_id array const, because all OF functions handle it as const. Signed-off-by: Jingoo Han <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-05-14Input: gpio_keys_polled - make of_device_id array constJingoo Han1-1/+1
Make of_device_id array const, because all OF functions handle it as const. Signed-off-by: Jingoo Han <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-05-14Input: gpio_keys - make of_device_id array constJingoo Han1-1/+1
Make of_device_id array const, because all OF functions handle it as const. Signed-off-by: Jingoo Han <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-05-14Input: clps711x-keypad - make of_device_id array constJingoo Han1-1/+1
Make of_device_id array const, because all OF functions handle it as const. Signed-off-by: Jingoo Han <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-05-14Input: gpio-beeper - simplify GPIO handlingAlexander Shiyan2-16/+13
This patch simplifies GPIO handling in the driver by using GPIO functions based on descriptors. As a result this driver now can be used for boards without DT support. Signed-off-by: Alexander Shiyan <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-05-14Input: tsc2005 - convert driver to use devm_*Sebastian Reichel1-23/+14
Simplify the driver by using managed resources for memory allocation of internal structure, input device allocation and irq request. Signed-off-by: Sebastian Reichel <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-05-14Input: tsc2005 - use dev_err for error messagesSebastian Reichel1-2/+2
Change some dev_dbg() invocations to dev_err() ones, because they are supposed to output error messages. Signed-off-by: Sebastian Reichel <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-05-14Input: gpio_keys - convert to use devm_*Andy Shevchenko1-49/+25
This makes the error handling much more simpler than open-coding everything and in addition makes the probe function smaller an tidier. Signed-off-by: Andy Shevchenko <[email protected]> Acked-by: Linus Walleij <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-05-14Input: twl6040-vibra - use devm functionsFabio Estevam1-51/+32
Using devm_regulator_bulk_get() and devm_input_allocate_device() can make the code cleaner and smaller as we do not need to manually free resources the error and remove paths. Signed-off-by: Fabio Estevam <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-05-14Input: ads7877 - remove bitrotted commentMark Brown1-5/+0
While searching for users of spi_async() I found a reference in the ad7877 driver to using it to initiate data transfer from the interrupt handler. However there is no code for this, instead the interrupt handler is a threaded handler and uses spi_sync() instead. Remove the bitrotted comment, though in actual fact the use case mentioned is a great use for spi_async() since it would cut down on latency handling the interrupt by saving us a context switch before we start SPI. This was previously implemented, it was removed in commit b534422b2d11 (Input: ad7877 - switch to using threaded IRQ) for code complexity reasons. It may be better to revert that commit instead. Signed-off-by: Mark Brown <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-05-14Input: evdev - get rid of old workaround for EVIOCGBITDmitry Torokhov1-18/+0
We put this workaround in 2008 and the offending userspace has been fixed up long time ago; the link in the message is no longer valid either, so it is time to retire it. Reviewed-by: Peter Hutterer <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-05-14Input: add st-keyscan driverGabriel FERNANDEZ3-0/+286
This patch adds ST Keyscan driver to use the keypad hw a subset of ST boards provide. Specific board setup will be put in the given dt. Signed-off-by: Gabriel Fernandez <[email protected]> Signed-off-by: Giuseppe Condorelli <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-05-14Input: ads7846 - correct log message for spi_sync() errorsMark Brown1-1/+1
While searching for users of spi_async() I got a false positive in the ads7846 driver, fix that. Signed-off-by: Mark Brown <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-05-14Input: tc3589x-keypad - support probing from device treeLinus Walleij1-2/+64
Implement device tree probing for the tc3589x keypad driver. This is modeled on the STMPE keypad driver and tested on the Ux500 TVK1281618 UIB. Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-05-14Input: w90p910_ts - depend on ARCH_W90X900Jean Delvare1-1/+1
The w90p910_ts touchscreen driver is heavily architecture dependent, so there is no point in letting it be built on other architectures than it was written for. All other W90P910/W90X900 drivers already have that dependency, so it makes things more consistent and configuration easier. Signed-off-by: Jean Delvare <[email protected]> Acked-by Wan Zongshun <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-05-14Input: synaptics - add min/max quirk for the ThinkPad W540Hans de Goede1-0/+8
https://bugzilla.redhat.com/show_bug.cgi?id=1096436 Cc: [email protected] Tested-and-reported-by: [email protected] Signed-off-by: Hans de Goede <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-05-13Input: ambakmi - request a shared interrupt for AMBA KMI devicesLiviu Dudau1-1/+2
Recent ARM boards have the KMI devices share one interrupt line rather than having dedicated IRQs. Update the driver to take that into account. Signed-off-by: Liviu Dudau <[email protected]> Signed-off-by: Mark Brown <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-05-13Input: pxa27x-keypad - fix generating scancodeChao Xie1-1/+6
The number of columns of pxa27x-keypad used by various boards is not fixed. When building keymap with call to: matrix_keypad_build_keymap(keymap_data, NULL, pdata->matrix_key_rows, pdata->matrix_key_cols, keypad->keycodes, input_dev); it will internally calculate needed row shift and use it to fill the keymap. Therefore when calculating the "scancode" we should no longer use constant row shift but also calculate it from number of columns. Signed-off-by: Chao Xie <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-05-12Input: atmel-wm97xx - only build for AVR32Arnd Bergmann1-1/+1
Building this driver on ARM/at91 always gives us this error message: drivers/input/touchscreen/atmel-wm97xx.c:63:2: error: #error Unknown CPU, this driver only supports AT32AP700X CPUs. Clearly this configuration is not meant to work, so let's just prevent it in Kconfig. If we ever want to use it on another platform, we should also pass proper resources for GPIO, IRQ and memory, which are hardcoded to AT32AP700X at the moment. Signed-off-by: Arnd Bergmann <[email protected]> Acked-by: Nicolas Ferre <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-05-12Input: fix ps2/serio module dependencyArnd Bergmann2-2/+2
The ps2 mouse and keyboard drivers use the "serio" framework that they correctly select in Kconfig, and that in turn depends on the i8042 driver, which is also allowed to be disabled for architectures that don't have an i8042. However, Kconfig also allows i8042 to be built as a module while the serio framework is built-in, which causes this link error: drivers/built-in.o: In function `ps2_begin_command': :(.text+0x26b6cc): undefined reference to `i8042_check_port_owner' :(.text+0x26b6d4): undefined reference to `i8042_lock_chip' drivers/built-in.o: In function `ps2_end_command': :(.text+0x26b734): undefined reference to `i8042_check_port_owner' :(.text+0x26b73c): undefined reference to `i8042_unlock_chip' On x86, a specific 'select SERIO_I8042' takes care of it, but not on the other architecture that potentially have a i8042. This patch changes the Kconfig logic to ensure that whenever there is an i8042, it does get used for the serio driver, avoiding the link error above. Signed-off-by: Arnd Bergmann <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-05-08Merge branch 'for-linus' of ↵Linus Torvalds6-3/+72
git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input Pull input subsystem fixes from Dmitry Torokhov: "Just a few fixups to various drivers" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: elantech - fix touchpad initialization on Gigabyte U2442 Input: tca8418 - fix loading this driver as a module from a device tree Input: bma150 - extend chip detection for bma180 Input: atkbd - fix keyboard not working on some LG laptops Input: synaptics - add min/max quirk for ThinkPad Edge E431
2014-05-07Input: atmel_tsadcc: remove driverAlexandre Belloni3-371/+0
The atmel_tsadcc driver is not used anymore, it has been replaced by at91_adc so remove it. Signed-off-by: Alexandre Belloni <[email protected]> Acked-by: Dmitry Torokhov <[email protected]> Signed-off-by: Nicolas Ferre <[email protected]>
2014-05-05Input: elantech - fix touchpad initialization on Gigabyte U2442Hans de Goede2-1/+26
The hw_version 3 Elantech touchpad on the Gigabyte U2442 does not accept 0x0b as initialization value for r10, this stand-alone version of the driver: http://planet76.com/drivers/elantech/psmouse-elantech-v6.tar.bz2 Uses 0x03 which does work, so this means not setting bit 3 of r10 which sets: "Enable Real H/W Resolution In Absolute mode" Which will result in half the x and y resolution we get with that bit set, so simply not setting it everywhere is not a solution. We've been unable to find a way to identify touchpads where setting the bit will fail, so this patch uses a dmi based blacklist for this. https://bugzilla.kernel.org/show_bug.cgi?id=61151 Cc: [email protected] Reported-by: Philipp Wolfer <[email protected]> Tested-by: Philipp Wolfer <[email protected]> Signed-off-by: Hans de Goede <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-04-24Input: tca8418 - fix loading this driver as a module from a device treeDr. H. Nikolaus Schaller1-0/+7
Loading the tca8418 driver as a module on a device tree based system needs a MODULE_ALIAS because the driver name does not match the automatic name generation rules of a 'compatible' entry on i2c bus. Signed-off-by: H. Nikolaus Schaller <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-04-24Input: bma150 - extend chip detection for bma180Dr. H. Nikolaus Schaller1-1/+3
This driver has been used while on the OpenPhoenux GTA04 with a BMA180. Signed-off-by: H. Nikolaus Schaller <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-04-24Input: atkbd - fix keyboard not working on some LG laptopsSheng-Liang Song1-1/+28
After issuing ATKBD_CMD_RESET_DIS, keyboard on some LG laptops stops working. The workaround is to stop issuing ATKBD_CMD_RESET_DIS commands. In order to keep changes in atkbd driver to the minimum we check DMI signature and only skip ATKBD_CMD_RESET_DIS if we are running on LG LW25-B7HV or P1-J273B. Cc: [email protected] Signed-off-by: Sheng-Liang Song <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-04-23Input: synaptics - add min/max quirk for ThinkPad Edge E431Hans de Goede1-0/+8
Cc: [email protected] Signed-off-by: Hans de Goede <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-04-23Merge branch 'for-linus' of ↵Linus Torvalds10-151/+261
git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input Pull input updates from Dmitry Torokhov: "The main change is that we now publish "firmware ID" for the serio devices to help userspace figure out the kind of touchpads it is dealing with: i8042 will export PS/2 port's PNP IDs as firmware IDs. You will also get more quirks for Synaptics touchpads in various Lenovo laptops, a change to elantech driver to recognize even more models, and fixups to wacom and couple other drivers" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: elantech - add support for newer elantech touchpads Input: soc_button_array - fix a crash during rmmod Input: synaptics - add min/max quirk for ThinkPad T431s, L440, L540, S1 Yoga and X1 Input: synaptics - report INPUT_PROP_TOPBUTTONPAD property Input: Add INPUT_PROP_TOPBUTTONPAD device property Input: i8042 - add firmware_id support Input: serio - add firmware_id sysfs attribute Input: wacom - handle 1024 pressure levels in wacom_tpc_pen Input: wacom - references to 'wacom->data' should use 'unsigned char*' Input: wacom - override 'pressure_max' with value from HID_USAGE_PRESSURE Input: wacom - use full 32-bit HID Usage value in switch statement Input: wacom - missed the last bit of expresskey for DTU-1031 Input: ads7846 - fix device usage within attribute show Input: da9055_onkey - remove use of regmap_irq_get_virq()
2014-04-22Input: elantech - add support for newer elantech touchpadsJordan Rife1-0/+1
Newer elantech touchpads are not recognized by the current driver, since it fails to detect their firmware version number. This prevents more advanced touchpad features from being usable such as two-finger scrolling. This patch allows newer touchpads to be detected and be fully functional. Tested on Sony Vaio SVF13N17PXB. Signed-off-by: Jordan Rife <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-04-22Input: soc_button_array - fix a crash during rmmodLejun Zhu1-0/+1
When the system has zero or one button available, trying to rmmod soc_button_array will cause crash. Fix this by properly handling -ENODEV in probe(). Signed-off-by: Lejun Zhu <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-04-19Input: synaptics - add min/max quirk for ThinkPad T431s, L440, L540, S1 Yoga ↵Hans de Goede1-0/+42
and X1 We expect that all the Haswell series will need such quirks, sigh. The T431s seems to be T430 hardware in a T440s case, using the T440s touchpad, with the same min/max issue. The X1 Carbon 3rd generation name says 2nd while it is a 3rd generation. The X1 and T431s share a PnPID with the T540p, but the reported ranges are closer to those of the T440s. HdG: Squashed 5 quirk patches into one. T431s + L440 + L540 are written by me, S1 Yoga and X1 are written by Benjamin Tissoires. Hdg: Standardized S1 Yoga and X1 values, Yoga uses the same touchpad as the X240, X1 uses the same touchpad as the T440. Cc: [email protected] Signed-off-by: Benjamin Tissoires <[email protected]> Signed-off-by: Hans de Goede <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-04-19Input: synaptics - report INPUT_PROP_TOPBUTTONPAD propertyHans de Goede1-2/+53
Check PNP ID of the PS/2 AUX port and report INPUT_PROP_TOPBUTTONPAD property for for touchpads with top button areas. Signed-off-by: Hans de Goede <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-04-19Input: i8042 - add firmware_id supportHans de Goede2-0/+21
Fill in the new serio firmware_id sysfs attribute for pnp instantiated 8042 serio ports. Signed-off-by: Hans de Goede <[email protected]> Acked-by: Peter Hutterer <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-04-19Input: serio - add firmware_id sysfs attributeHans de Goede1-0/+14
serio devices exposed via platform firmware interfaces such as ACPI may provide additional identifying information of use to userspace. We don't associate the serio devices with the firmware device (we don't set it as parent), so there's no way for userspace to make use of this information. We cannot change the parent for serio devices instantiated though a firmware interface as that would break suspend / resume ordering. Therefore this patch adds a new firmware_id sysfs attribute so that userspace can get a string from there with any additional identifying information the firmware interface may provide. Signed-off-by: Hans de Goede <[email protected]> Acked-by: Peter Hutterer <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-04-19Input: wacom - handle 1024 pressure levels in wacom_tpc_penJason Gerecke1-1/+1
Some tablet PC sensors (e.g. the 0xEC found in the Thinkpad Yoga) report more than 256 pressure levels and will experience wraparound unless the full range is read. Signed-off-by: Jason Gerecke <[email protected]> Tested-by: Aaron Skomra <[email protected]> Reviewed-by: Carl Worth <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-04-19Input: wacom - references to 'wacom->data' should use 'unsigned char*'Jason Gerecke1-18/+9
'wacom->data' contains raw binary data and can lead to unexpected behavior if a byte under examination happens to have its MSB set. Signed-off-by: Jason Gerecke <[email protected]> Tested-by: Aaron Skomra <[email protected]> Reviewed-by: Carl Worth <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>