summaryrefslogtreecommitdiffstats
path: root/drivers/input (follow)
Commit message (Collapse)AuthorAgeFilesLines
* ARM: ixp4xx: Pass IRQ resource to beeperLinus Walleij2019-04-191-5/+15
| | | | | | | | | All IXP4xx devices except the beeper passes the IRQ as a resource, augment the NSLU2 beeper to do the same. This is a prerequisite for SPARSE_IRQ. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* Merge branch 'for-linus' of ↵Linus Torvalds2019-03-1125-346/+1102
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-101-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 <jason.gerecke@wacom.com> Cc: stable@vger.kernel.org Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| * Input: elan_i2c - add id for touchpad found in Lenovo s21e-20Vincent Batts2019-03-101-0/+1
| | | | | | | | | | | | | | | | Lenovo s21e-20 uses ELAN0601 in its ACPI tables for the Elan touchpad. Signed-off-by: Vincent Batts <vbatts@hashbangbash.com> Cc: stable@vger.kernel.org Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| * Input: raspberrypi-ts - select CONFIG_INPUT_POLLDEVArnd Bergmann2019-03-101-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 <arnd@arndb.de> Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| * Input: msm-vibrator - use correct gpio headerArnd Bergmann2019-03-101-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 <arnd@arndb.de> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| * Merge branch 'next' into for-linusDmitry Torokhov2019-03-0423-346/+1098
| |\ | | | | | | | | | 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 <yuehaibing@huawei.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| | * 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 <robh@kernel.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| | * 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 <agx@sigxcpu.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| | * 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 <agx@sigxcpu.org> Reviewed-by: Bastien Nocera <hadess@hadess.net> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| | * 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 <TheSven73@gmail.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| | * 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 <gustavo@embeddedor.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| | * 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 <TheSven73@gmail.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| | * 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 <matthias.fend@wolfvision.net> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| | * 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 <dmitry.torokhov@gmail.com>
| | * 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 <martin.kepplinger@ginzinger.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| | * 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 <marex@denx.de> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| | * 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 <dan.carpenter@oracle.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| | * 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 <andi@etezian.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| | * 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 <andi@etezian.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| | * 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 <dmitry.torokhov@gmail.com>
| | * 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 <marex@denx.de> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| | * Input: ili210x - add OF match tableMarek Vasut2019-02-071-0/+7
| | | | | | | | | | | | | | | | | | | | | Add OF match table for the ili210x touchscreen. Signed-off-by: Marek Vasut <marex@denx.de> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| | * 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 <marex@denx.de> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| | * 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 <marex@denx.de> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| | * 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 <marex@denx.de> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| | * 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 <marex@denx.de> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| | * Input: ili210x - convert to devm_ functionsMarek Vasut2019-02-071-10/+7
| | | | | | | | | | | | | | | | | | | | | Convert the driver to dev-managed allocations. Signed-off-by: Marek Vasut <marex@denx.de> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| | * 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 <marex@denx.de> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| | * 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 <marex@denx.de> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| | * 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 <masneyb@onstation.org> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| | * 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 <f.fainelli@gmail.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| | * 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 <dmitry.torokhov@gmail.com>
| | * 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 <richard.leitner@skidata.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| | * 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 <richard.leitner@skidata.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| | * 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 <richard.leitner@skidata.com> Reviewed-by: Rob Herring <robh@kernel.org> [dtor: use __be16 in sx8650_irq, add missing del_timer_sync] Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| | * 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 <richard.leitner@skidata.com> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| | * 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 <richard.leitner@skidata.com> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| | * 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 <martin.kepplinger@ginzinger.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| | * 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 <martin.kepplinger@ginzinger.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| | * 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 <m.felsch@pengutronix.de> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| | * 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 <m.felsch@pengutronix.de> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| | * 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 <m.felsch@pengutronix.de> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| | * 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 <yuehaibing@huawei.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| | * 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 <gustavo@embeddedor.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| | * 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 <gustavo@embeddedor.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| | * Merge tag 'v4.20' into nextDmitry Torokhov2019-01-1457-316/+933
| | |\ | | | | | | | | | | | | Merge with mainline to bring in the new APIs.
| | * | Input: ad7879 - add check for read errors in interruptAditya Pakki2019-01-071-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | regmap_bulk_read() can return a non zero value on failure. The fix checks if the function call succeeded before calling mod_timer. The issue was identified by a static analysis tool. Signed-off-by: Aditya Pakki <pakki001@umn.edu> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| | * | Input: tm2-touchkey - add support for aries touchkey variantJonathan Bakker2019-01-071-7/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The touchkey variant found on aries board is slighty different, it uses a fixed regulator and writes/read to the same place Signed-off-by: Jonathan Bakker <xc-racer2@live.ca> Signed-off-by: Paweł Chmiel <pawel.mikolaj.chmiel@gmail.com> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>