aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'for-linus' of ↵Linus Torvalds2019-04-192-3/+28
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input Pull input updates from Dmitry Torokhov: - several new key mappings for HID - a host of new ACPI IDs used to identify Elan touchpads in Lenovo laptops * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: snvs_pwrkey - initialize necessary driver data before enabling IRQ HID: input: add mapping for "Toggle Display" key HID: input: add mapping for "Full Screen" key HID: input: add mapping for keyboard Brightness Up/Down/Toggle keys HID: input: add mapping for Expose/Overview key HID: input: fix mapping of aspect ratio key [media] doc-rst: switch to new names for Full Screen/Aspect keys Input: document meanings of KEY_SCREEN and KEY_ZOOM Input: elan_i2c - add hardware ID for multiple Lenovo laptops
| * Input: snvs_pwrkey - initialize necessary driver data before enabling IRQAnson Huang2019-04-031-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | SNVS IRQ is requested before necessary driver data initialized, if there is a pending IRQ during driver probe phase, kernel NULL pointer panic will occur in IRQ handler. To avoid such scenario, just initialize necessary driver data before enabling IRQ. This patch is inspired by NXP's internal kernel tree. Fixes: d3dc6e232215 ("input: keyboard: imx: add snvs power key driver") Signed-off-by: Anson Huang <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
| * Input: elan_i2c - add hardware ID for multiple Lenovo laptopsKT Liao2019-03-271-0/+25
| | | | | | | | | | | | | | | | | | There are many Lenovo laptops which need elan_i2c support, this patch adds relevant IDs to the Elan driver so that touchpads are recognized. Signed-off-by: KT Liao <[email protected]> Cc: [email protected] Signed-off-by: Dmitry Torokhov <[email protected]>
* | Merge branch 'for-linus' of ↵Linus Torvalds2019-03-1125-345/+1101
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input Pull input updates from Dmitry Torokhov: - update the ili210x touchscreen driver, refreshing the code and adding support for ILI251X line - add support for st1633 to the st1232 touchscreen driver - add support for sx8650 to the the sx8654 touchscreen driver - add support for Evervision FT5726 to the edt-ft5x06 touchscreen driver - add support for gt5688 to the Goodix touchscreen driver - new vibrator driver for MSM SOCs - miscellaneous fixes for the rest of input drivers * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (53 commits) Input: wacom_serial4 - add support for Wacom ArtPad II tablet Input: elan_i2c - add id for touchpad found in Lenovo s21e-20 Input: raspberrypi-ts - select CONFIG_INPUT_POLLDEV Input: msm-vibrator - use correct gpio header Input: ti_am335x_tsc - remove set but not used variable 'tscadc_dev' Input: i8042 - rework DT node name comparisons Input: goodix - print values in case of inconsistencies Input: goodix - refer to touchscreen.txt in device tree bindings Input: goodix - support Goodix gt5688 Input: synaptics_i2c - remove redundant spinlock Input: db9 - mark expected switch fall-through Input: qt2160 - remove redundant spinlock Input: st1232 - handle common DT bindings Input: ims-pcu - switch to using brightness_set_blocking() Input: st1232 - switch to gpiod API Input: ili210x - fetch touchscreen geometry from DT Input: msm-vibrator - tweak an error message Input: tm2-touchkey - acknowledge that setting brightness is a blocking call Input: stmfts - acknowledge that setting brightness is a blocking call Input: ili210x - switch to using devm_device_add_group() ...
| * Input: wacom_serial4 - add support for Wacom ArtPad II tabletJason Gerecke2019-03-091-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Tablet initially begins communicating at 9600 baud, so this command should be used to connect to the device: $ inputattach --daemon --baud 9600 --wacom_iv /dev/ttyS0 https://github.com/linuxwacom/xf86-input-wacom/issues/40 Signed-off-by: Jason Gerecke <[email protected]> Cc: [email protected] Signed-off-by: Dmitry Torokhov <[email protected]>
| * Input: elan_i2c - add id for touchpad found in Lenovo s21e-20Vincent Batts2019-03-091-0/+1
| | | | | | | | | | | | | | | | Lenovo s21e-20 uses ELAN0601 in its ACPI tables for the Elan touchpad. Signed-off-by: Vincent Batts <[email protected]> Cc: [email protected] Signed-off-by: Dmitry Torokhov <[email protected]>
| * Input: raspberrypi-ts - select CONFIG_INPUT_POLLDEVArnd Bergmann2019-03-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When CONFIG_INPUT_POLLDEV is disabled, we get a link error: drivers/input/touchscreen/raspberrypi-ts.o: In function `rpi_ts_probe': raspberrypi-ts.c:(.text+0xec): undefined reference to `devm_input_allocate_polled_device' raspberrypi-ts.c:(.text+0xec): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `devm_input_allocate_polled_device' raspberrypi-ts.c:(.text+0x19c): undefined reference to `input_register_polled_device' raspberrypi-ts.c:(.text+0x19c): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `input_register_polled_device' Select that symbol like we do from the other similar drivers. Fixes: 0b9f28fed3f7 ("Input: add official Raspberry Pi's touchscreen driver") Signed-off-by: Arnd Bergmann <[email protected]> Reviewed-by: Nicolas Saenz Julienne <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
| * Input: msm-vibrator - use correct gpio headerArnd Bergmann2019-03-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When CONFIG_GPIOLIB is not set, we get a couple of build errors during test building: drivers/input/misc/msm-vibrator.c: In function 'msm_vibrator_start': drivers/input/misc/msm-vibrator.c:79:3: error: implicit declaration of function 'gpiod_set_value_cansleep'; did you mean 'gpio_set_value_cansleep'? [-Werror=implicit-function-declaration] gpiod_set_value_cansleep(vibrator->enable_gpio, 1); ^~~~~~~~~~~~~~~~~~~~~~~~ gpio_set_value_cansleep drivers/input/misc/msm-vibrator.c: In function 'msm_vibrator_probe': drivers/input/misc/msm-vibrator.c:176:26: error: implicit declaration of function 'devm_gpiod_get'; did you mean 'devm_gpio_free'? [-Werror=implicit-function-declaration] vibrator->enable_gpio = devm_gpiod_get(&pdev->dev, "enable", ^~~~~~~~~~~~~~ devm_gpio_free drivers/input/misc/msm-vibrator.c:177:13: error: 'GPIOD_OUT_LOW' undeclared (first use in this function); did you mean 'GPIOF_INIT_LOW'? GPIOD_OUT_LOW); ^~~~~~~~~~~~~ GPIOF_INIT_LOW drivers/input/misc/msm-vibrator.c:177:13: note: each undeclared identifier is reported only once for each function it appears in This is easy to avoid when we use gpio/consumer.h as the documented interface. Fixes: 0f681d09e66e ("Input: add new vibrator driver for various MSM SOCs") Signed-off-by: Arnd Bergmann <[email protected]> Reviewed-by: Linus Walleij <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
| * Merge branch 'next' into for-linusDmitry Torokhov2019-03-0423-345/+1097
| |\ | | | | | | | | | Prepare input updates for 5.1 merge window.
| | * Input: ti_am335x_tsc - remove set but not used variable 'tscadc_dev'YueHaibing2019-02-191-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes gcc '-Wunused-but-set-variable' warning: drivers/input/touchscreen/ti_am335x_tsc.c: In function 'titsc_suspend': drivers/input/touchscreen/ti_am335x_tsc.c:510:24: warning: variable 'tscadc_dev' set but not used [-Wunused-but-set-variable] drivers/input/touchscreen/ti_am335x_tsc.c: In function 'titsc_resume': drivers/input/touchscreen/ti_am335x_tsc.c:527:24: warning: variable 'tscadc_dev' set but not used [-Wunused-but-set-variable] It's not used any more after 333e07ec4b33 ("Input: ti_am335x_tsc: Mark TSC device as wakeup source") Signed-off-by: YueHaibing <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Input: i8042 - rework DT node name comparisonsRob Herring2019-02-181-11/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Convert string compares of DT node names to use of_node_name_eq helper instead. For the root node on SUN DT, we need to retrieve the 'name' property as it is the rare case where the 'name' property and node name differ. With both changes, it removes direct access to the node name pointer. While at it, convert the open coded loop to use for_each_child_of_node(). Signed-off-by: Rob Herring <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Input: goodix - print values in case of inconsistenciesGuido Günther2019-02-171-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | "Invalid config" gives little idea what's wrong. Print the values that must not be 0 so we know which ones are off. Signed-off-by: Guido Günther <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Input: goodix - support Goodix gt5688Guido Günther2019-02-171-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From what I've seen in vendor trees it's fine to treat this as gt1x¹. Tested on the Purism Librem 5 Devkit (Rocktech JH057N00900 panel). [1]: https://github.com/TadiT7/android_kernel_mtk-4.4/tree/master/drivers/input/touchscreen/mediatek/GT5688 Signed-off-by: Guido Günther <[email protected]> Reviewed-by: Bastien Nocera <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Input: synaptics_i2c - remove redundant spinlockSven Van Asbroeck2019-02-171-18/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove a leftover spinlock. This was required back when mod_delayed_work() did not exist, and had to be implemented with a cancel + queue. See commit e7c2f967445d ("workqueue: use mod_delayed_work() instead of __cancel + queue") schedule_delayed_work() and mod_delayed_work() can now be used concurrently. So the spinlock is no longer needed. Signed-off-by: Sven Van Asbroeck <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Input: db9 - mark expected switch fall-throughGustavo A. R. Silva2019-02-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In preparation to enabling -Wimplicit-fallthrough, mark switch cases where we are expecting to fall through. This patch fixes the following warning: drivers/input/joystick/db9.c: In function ‘db9_saturn_read_packet’: drivers/input/joystick/db9.c:256:6: warning: this statement may fall through [-Wimplicit-fallthrough=] if (tmp == 0xff) { ^ drivers/input/joystick/db9.c:263:2: note: here default: ^~~~~~~ Notice that, in this particular case, the code comment is modified in accordance with what GCC is expecting to find. This patch is part of the ongoing efforts to enable -Wimplicit-fallthrough. Signed-off-by: Gustavo A. R. Silva <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Input: qt2160 - remove redundant spinlockSven Van Asbroeck2019-02-171-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove a spinlock which prevents schedule_delayed_work() and mod_delayed_work() from executing concurrently. This was required back when mod_delayed_work() did not exist, and had to be implemented with a cancel + schedule. See commit e7c2f967445d ("workqueue: use mod_delayed_work() instead of __cancel + queue") schedule_delayed_work() and mod_delayed_work() can now be used concurrently. So the spinlock is no longer needed. Signed-off-by: Sven Van Asbroeck <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Input: st1232 - handle common DT bindingsMatthias Fend2019-02-171-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | This is required to specify generic touchscreen properties via DT. Signed-off-by: Matthias Fend <[email protected]> Reviewed-by: Rob Herring <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Input: ims-pcu - switch to using brightness_set_blocking()Dmitry Torokhov2019-02-171-19/+8
| | | | | | | | | | | | | | | | | | Now that LEDs core allows "blocking" flavor of "set brightness" method we can use it and get rid of private work item. Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Input: st1232 - switch to gpiod APIMartin Kepplinger2019-02-171-14/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | Use devm_gpiod_get_optional() and gpiod_set_value_cansleep() instead of the old API. The st1232_ts_power() now passes on the inverted "poweron" value to reflect the correct logical value. Signed-off-by: Martin Kepplinger <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Input: ili210x - fetch touchscreen geometry from DTMarek Vasut2019-02-091-40/+11
| | | | | | | | | | | | | | | | | | | | | | | | Fetching the geometry from the ILI251x registers seems unreliable and sometimes returns all zeroes. Add support for fetching the geometry and axis inversion from DT instead. Signed-off-by: Marek Vasut <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Input: msm-vibrator - tweak an error messageDan Carpenter2019-02-091-2/+1
| | | | | | | | | | | | | | | | | | The PTR_ERR(NULL) value is zero and it's not useful to print that. Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Input: tm2-touchkey - acknowledge that setting brightness is a blocking callDmitry Torokhov2019-02-081-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to access I2C bus when switching brightness, and that may block, therefore we have to set stmfts_brightness_set() as LED's brightness_set_blocking() method. Fixes: 72d1f2346ded ("Input: tm2-touchkey - add touchkey driver support for TM2") Acked-by: Andi Shyti <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Input: stmfts - acknowledge that setting brightness is a blocking callDmitry Torokhov2019-02-081-14/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to turn regulators on and off when switching brightness, and that may block, therefore we have to set stmfts_brightness_set() as LED's brightness_set_blocking() method. Fixes: 78bcac7b2ae1 ("Input: add support for the STMicroelectronics FingerTip touchscreen") Acked-by: Andi Shyti <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Input: ili210x - switch to using devm_device_add_group()Dmitry Torokhov2019-02-081-14/+2
| | | | | | | | | | | | | | | | | | | | | By switching to devm_device_add_group() we can complete driver conversion to using managed resources and get rid of ili210x_i2c_remove(). Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Input: ili210x - add ILI251X supportMarek Vasut2019-02-071-15/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for ILI251x touch controller. This controller is similar to the ILI210x, except for the following differences: - Does not support I2C R-W transfer, Read must be followed by an obscenely long delay, and then followed by Write - Does support 10 simultaneous touch inputs. - Touch data format is slightly different, pressure reporting does not work although the touch data contain such information. Signed-off-by: Marek Vasut <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Input: ili210x - add OF match tableMarek Vasut2019-02-071-0/+7
| | | | | | | | | | | | | | | | | | | | | Add OF match table for the ili210x touchscreen. Signed-off-by: Marek Vasut <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Input: ili210x - reorder probeMarek Vasut2019-02-071-16/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | Perform the register access only after the I2C client data are set, this is only done in preparation for the subsequent patch which uses the I2C client data in the register IO function. Signed-off-by: Marek Vasut <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Input: ili210x - rework the touchscreen sample processingMarek Vasut2019-02-071-25/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | Get rid of the packed structures for representing data as that does not apply to other similar Ilitek touchscreens. Instead, implement a function which parses the data and reports touch events and coordinates. Signed-off-by: Marek Vasut <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Input: ili210x - convert to devm IRQMarek Vasut2019-02-071-11/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | Convert the driver to devm_request_irq(), drop the related unmanaged deregistration code and add ili210x_irq_teardown() to tear the IRQ down and cancel possible touchscreen pending work. Signed-off-by: Marek Vasut <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Input: ili210x - add reset GPIO supportMarek Vasut2019-02-071-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | The touchscreen can have a reset GPIO connected to it, add support for such an arrangement. Signed-off-by: Marek Vasut <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Input: ili210x - convert to devm_ functionsMarek Vasut2019-02-071-10/+7
| | | | | | | | | | | | | | | | | | | | | Convert the driver to dev-managed allocations. Signed-off-by: Marek Vasut <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Input: ili210x - drop get_pendown_stateMarek Vasut2019-02-071-12/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | The .get_pendown_state callback is set only by the platform data code, which was just removed. Thus, get_pendown_state() always returns false, so drop that altogether. Signed-off-by: Marek Vasut <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Input: ili210x - drop platform data supportMarek Vasut2019-02-071-10/+2
| | | | | | | | | | | | | | | | | | | | | | | | There is not a single user of the ili210x platform data in the kernel, just drop it. Signed-off-by: Marek Vasut <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Input: add new vibrator driver for various MSM SOCsBrian Masney2019-02-063-0/+293
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a new vibrator driver that supports various Qualcomm MSM SOCs. Driver was tested on a LG Nexus 5 (hammerhead) phone. Signed-off-by: Brian Masney <[email protected]> Reviewed-by: Rob Herring <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Input: gpio-keys - add shutdown callbackFlorian Fainelli2019-02-061-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On some platforms (e.g.: ARCH_BRCMSTB) it is possible to enter "poweroff" while leaving some wake-up sources enabled such as key presses in order to allow for the system to wake-up. Wire up a .shutdown() callback which calls into the existing gpio_keys_suspend() since the logic is essentially the same. Signed-off-by: Florian Fainelli <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Input: sx8654 - do not override interrupt triggerDmitry Torokhov2019-02-051-1/+1
| | | | | | | | | | | | | | | | | | We should rely on the interrupt trigger (level vs edge) set up by the firmware or board code instead of forcing what we consider appropriate. Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Input: sx8654 - convert #defined flags to BIT(x)Richard Leitner2019-02-051-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | Some of the #defined register values are one-bit flags. Convert them to use the BIT(x) macro instead of 1 byte hexadecimal values. This improves readability and clarifies the intent. Signed-off-by: Richard Leitner <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Input: sx8654 - use common of_touchscreen functionsRichard Leitner2019-01-291-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | of_touchscreen.c provides a common interface for a axis inversion and swapping of touchscreens. Therefore use it in the sx8654 driver. Signed-off-by: Richard Leitner <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Input: sx8654 - add sx8650 supportRichard Leitner2019-01-291-20/+176
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The sx8654 and sx8650 are quite similar, therefore add support for the sx8650 within the sx8654 driver. Signed-off-by: Richard Leitner <[email protected]> Reviewed-by: Rob Herring <[email protected]> [dtor: use __be16 in sx8650_irq, add missing del_timer_sync] Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Input: sx8654 - add sx8655 and sx8656 to compatiblesRichard Leitner2019-01-291-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As the sx865[456] share the same datasheet and differ only in the presence of a "capacitive proximity detection circuit" and a "haptics motor driver for LRA/ERM" add them to the compatbiles. As the driver doesn't implement these features it should be no problem. Signed-off-by: Richard Leitner <[email protected]> Reviewed-by: Rob Herring <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Input: sx8654 - add reset-gpio supportRichard Leitner2019-01-291-6/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The sx8654 features a NRST input which may be connected to a GPIO. Therefore add support for hard-resetting the sx8654 via this NRST. If the reset-gpio property is provided the sx8654 is resetted via NRST instead of the soft-reset via I2C. Signed-off-by: Richard Leitner <[email protected]> Reviewed-by: Rob Herring <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Input: st1232 - add Martin as module authorMartin Kepplinger2019-01-281-0/+1
| | | | | | | | | | | | | | | | | | | | | This adds myself as an author of the st1232 driver module as Tony's email address doesn't seem to work anymore. Signed-off-by: Martin Kepplinger <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Input: st1232 - add support for st1633Martin Kepplinger2019-01-282-37/+89
| | | | | | | | | | | | | | | | | | | | | | | | Add support for the Sitronix ST1633 touchscreen controller to the st1232 driver. A protocol spec can be found here: www.ampdisplay.com/documents/pdf/AM-320480B6TZQW-TC0H.pdf Signed-off-by: Martin Kepplinger <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Input: edt-ft5x06 - add offset support for ev-ft5726Marco Felsch2019-01-141-0/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unfortunately the evervision focaltech implementation uses two offset registers, one for the x coordinate and one for y. This patch extends the driver to handle those offset registers only for devices that support these. Signed-off-by: Marco Felsch <[email protected]> Reviewed-by: Rob Herring <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Input: edt-ft5x06 - add support to update ev-ft5726 registersMarco Felsch2019-01-141-5/+15
| | | | | | | | | | | | | | | | | | Currently only the threshold and gain parameters can be read. Signed-off-by: Marco Felsch <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Input: edt-ft5x06 - add support for Evervision FT5726Marco Felsch2019-01-141-3/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Evervision displays are using different Focaltech touchscreen controllers. This commit adds the initial support for the ones using the FT5726 controller. Receiving the touch data is the same as for the GENERIC_FT but the x and y cooridnates are swapped. The main differences are the register addresses where the GAIN and THRESHOLD parameters are stored. Signed-off-by: Marco Felsch <[email protected]> Reviewed-by: Rob Herring <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Input: mtk-pmic-keys - remove duplicated include from mtk-pmic-keys.cYueHaibing2019-01-141-7/+6
| | | | | | | | | | | | | | | | | | | | | iSOrt includes in alphabetical order and remove duplicated include file linux/kernel.h Signed-off-by: YueHaibing <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Input: mcs_touchkey - use struct_size() in kzalloc()Gustavo A. R. Silva2019-01-141-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | One of the more common cases of allocation size calculations is finding the size of a structure that has a zero-sized array at the end, along with memory for some number of elements for that array. For example: struct foo { int stuff; void *entry[]; }; instance = kzalloc(sizeof(struct foo) + sizeof(void *) * count, GFP_KERNEL); Instead of leaving these open-coded and prone to type mistakes, we can now use the new struct_size() helper: instance = kzalloc(struct_size(instance, entry, count), GFP_KERNEL); This code was detected with the help of Coccinelle. Signed-off-by: Gustavo A. R. Silva <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Input: tca6416-keypad - use struct_size() in kzalloc()Gustavo A. R. Silva2019-01-141-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | One of the more common cases of allocation size calculations is finding the size of a structure that has a zero-sized array at the end, along with memory for some number of elements for that array. For example: struct foo { int stuff; void *entry[]; }; instance = kzalloc(sizeof(struct foo) + sizeof(void *) * count, GFP_KERNEL); Instead of leaving these open-coded and prone to type mistakes, we can now use the new struct_size() helper: instance = kzalloc(struct_size(instance, entry, count), GFP_KERNEL); This code was detected with the help of Coccinelle. Signed-off-by: Gustavo A. R. Silva <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
| | * Merge tag 'v4.20' into nextDmitry Torokhov2019-01-1457-315/+932
| | |\ | | | | | | | | | | | | Merge with mainline to bring in the new APIs.