- 01 Sep, 2024 2 commits
-
-
Linus Walleij authored
The different revisions of the Zinitix BTXXX touchscreens place the icon status register (to read out touchkey status) in different places. Use the chip revision bits to discern between the different versions at runtime. This makes touchkeys work on the BT404 on the Samsung Codina GT-I8160 mobile phone. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Link: https://lore.kernel.org/r/20240830-zinitix-tk-versions-v2-2-90eae6817eda@linaro.orgSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Linus Walleij authored
The chip hardware revision, firmware version and regdata revision is needed to discern because for example touchkeys are handled by different registers on different versions of the chip. Example output from BT404: Zinitix-TS 3-0020: chip revision 4040 firmware version 0088 regdata version 0004 Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Link: https://lore.kernel.org/r/20240830-zinitix-tk-versions-v2-1-90eae6817eda@linaro.orgSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 31 Aug, 2024 1 commit
-
-
Dmitry Torokhov authored
Switch to using devm_clk_get_optional_enabled() helper instead of acquiring the clock with devm_clk_get_optional(), enabling it, and defining and installing a custom devm action to call clk_disable(). Reviewed-by: Frank Li <Frank.Li@nxp.com> Link: https://lore.kernel.org/r/ZtDDGMaOFlMYjOrt@google.comSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 30 Aug, 2024 2 commits
-
-
Fabio Estevam authored
Node names should be generic. Improve the binding example by using 'touchscreen' as the node name. Signed-off-by: Fabio Estevam <festevam@denx.de> Acked-by: Rob Herring (Arm) <robh@kernel.org> Acked-by: Conor Dooley <conor.dooley@microchip.com> Link: https://lore.kernel.org/r/20240830194331.3774408-1-festevam@gmail.comSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Dmitry Torokhov authored
Add i8042.h and libps2.h to "INPUT (KEYBOARD, MOUSE, JOYSTICK, TOUCHSCREEN) DRIVERS" section so that get_maintainers.pl script will pick them up and patches affecting them will be sent to the right place. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 29 Aug, 2024 6 commits
-
-
Dmitry Torokhov authored
Add gameport.h, serio.h and uinput.h and complementing them headers from include/uapi/ to "INPUT (KEYBOARD, MOUSE, JOYSTICK, TOUCHSCREEN) DRIVERS" section so that get_maintainers.pl script will pick them up and patches affecting them will be sent to the right place. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Dmitry Torokhov authored
This makes the code more compact and error handling more robust by ensuring that mutexes are released in all code paths when control leaves critical section. Acked-by: Henrik Rydberg <rydberg@bitmath.org> Link: https://lore.kernel.org/r/ZsrBVO2w9WwX73iU@google.comSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Dmitry Torokhov authored
Use __free(kfree) cleanup facility in matrix_keypad_parse_keymap() to automatically free temporarily allocated memory. Reviewed-by: Hans de Goede <hdegoede@redhat.com> Link: https://lore.kernel.org/r/ZspoEPdTcH-hpciy@google.comSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Utsav Agarwal authored
Adding software support for enabling the pure gpio capability of the device - which allows all I/O to be used as GPIO. Previously, I/O configuration was limited by software to partial GPIO support only. When working in a pure gpio mode, the device does not require the certain properties and hence, the following are now made optional: - interrupts - keypad,num-rows - keypad,num-columns - linux,keymap However, note that the above are required to be specified when configuring the device as a keypad, for which dependencies have been added such that specifying either one requires the remaining as well. Also, note that interrupts are made optional, but required when the device has either been configured in keypad mode or as an interrupt controller. This has been done since they may not necessarily be used when leveraging the device purely for GPIO. Acked-by: Conor Dooley <conor.dooley@microchip.com> Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com> Link: https://lore.kernel.org/r/20240826-adp5588_gpio_support-v11-3-3e5ac2bd31b7@analog.comSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Utsav Agarwal authored
Keypad specific setup is relaxed if no keypad rows/columns are specified, enabling a purely gpio operation. Reviewed-by: Nuno Sa <nuno.sa@analog.com> Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com> Link: https://lore.kernel.org/r/20240826-adp5588_gpio_support-v11-2-3e5ac2bd31b7@analog.comSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Dmitry Torokhov authored
This makes the code more compact and error handling more robust. Acked-by: Michael Hennerich <michael.hennerich@analog.com> Link: https://lore.kernel.org/r/20240826-adp5588_gpio_support-v11-1-3e5ac2bd31b7@analog.comSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 28 Aug, 2024 1 commit
-
-
Dmitry Torokhov authored
Switch to using devm_clk_get_enable() helper instead of acquiring the clock with devm_clk_get(), enabling it, and defining and installing a custom devm action to call clk_disable(). Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> Link: https://lore.kernel.org/r/Zs4UWGKt3hLjNmoP@google.comSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 27 Aug, 2024 1 commit
-
-
Liao Chen authored
Add MODULE_DEVICE_TABLE(), so modules could be properly autoloaded based on the alias from of_device_id table. Signed-off-by: Liao Chen <liaochen4@huawei.com> Link: https://lore.kernel.org/r/20240827123411.431388-1-liaochen4@huawei.comSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 26 Aug, 2024 2 commits
-
-
Frank Li authored
Convert binding doc ads7846.txt to yaml format. Additional change: - add ref to touchscreen.yaml and spi-peripheral-props.yaml. - use common node name touchscreen. - sort ti properties alphabetically. - sort common properties alphabetically. - sort compatible string alphabetically. - remove vcc-supply from required list. - deprecated ti,x-min, ti,y-min Fix below warning: arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dtb: touchscreen@0: ti,x-min: b'\x00}' is not of type 'object', 'array', 'boolean', 'null' Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Reviewed-by: Marek Vasut <marex@denx.de> Signed-off-by: Frank Li <Frank.Li@nxp.com> Link: https://lore.kernel.org/r/20240826162302.960732-1-Frank.Li@nxp.comSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Shen Lichuan authored
Let the kmemdup_array() take care about multiplication and possible overflows. Using kmemdup_array() is more appropriate and makes the code easier to audit. Signed-off-by: Shen Lichuan <shenlichuan@vivo.com> Link: https://lore.kernel.org/r/20240826045253.3503-1-shenlichuan@vivo.comSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 24 Aug, 2024 1 commit
-
-
Dmitry Torokhov authored
Limit amount of data that can be written into an evdev instance at a given time to 4096 bytes (170 input events) to avoid holding evdev->mutex for too long and starving other users. Reviewed-by: Jeff LaBundy <jeff@labundy.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Link: https://lore.kernel.org/r/Zr5L8TUzkJcB9HcF@google.comSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 22 Aug, 2024 1 commit
-
-
Dmitry Torokhov authored
The users of this driver were removed in 2013 in commit 28633c54 ("ARM: ux500: Rip out keypad initialisation which is no longer used"). Remove the driver as well. Acked-by: Arnd Bergmann <arnd@arndb.de> Link: https://lore.kernel.org/r/Zr-gX0dfN4te_8VG@google.comSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 19 Aug, 2024 2 commits
-
-
Cai Huoqing authored
When possible use dev_err_probe help to properly deal with the PROBE_DEFER error, the benefit is that DEFER issue will be logged in the devices_deferred debugfs file. Using dev_err_probe() can reduce code size, and the error value gets printed. Signed-off-by: Cai Huoqing <caihuoqing@baidu.com> Link: https://lore.kernel.org/r/20210916153148.14045-1-caihuoqing@baidu.comSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Frank Li authored
Convert binding doc colibri-vf50-ts.txt to yaml. Additional change: - add ref touchscreen.yaml. - remove standard pinctrl properties. Fix below warning: arch/arm64/boot/dts/freescale/imx8qm-apalis-eval.dtb: /touchscreen: failed to match any schema with compatible: ['toradex,vf50-touchscreen'] Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Signed-off-by: Frank Li <Frank.Li@nxp.com> Link: https://lore.kernel.org/r/20240819142434.311760-1-Frank.Li@nxp.comSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 12 Aug, 2024 1 commit
-
-
Frank Li authored
Convert binding doc ad7879.txt to yaml format. Additional change: - Add ref to /schemas/spi/spi-peripheral-props.yaml - Add #gpio-cell - Remove spi-cpol and spi-cpha in example, the place hold 'spi' can't correct detect spi-controler.yaml. So these two properties can't be recongnized. Fix warning: arch/arm64/boot/dts/freescale/imx8dx-colibri-aster.dtb: /bus@5a000000/i2c@5a800000/touchscreen@2c: failed to match any schema with compatible: ['adi,ad7879-1'] Signed-off-by: Frank Li <Frank.Li@nxp.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20240810143840.3615450-1-Frank.Li@nxp.comSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 05 Aug, 2024 13 commits
-
-
Dmitry Torokhov authored
The cyttsp4 touchscreen driver was contributed in 2013 and since then has seen no updates. The driver uses platform data (no device tree support) and there are no users of it in the mainline kernel. There were occasional fixes to it for issues either found by static code analysis tools or via visual inspection, but otherwise the driver is completely untested. Remove the driver. Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Reviewed-by: Javier Martinez Canillas <javierm@redhat.com> Link: https://lore.kernel.org/r/ZrAZ2cUow_z838tp@google.comSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Dmitry Torokhov authored
The driver does not try to power down the rails at system suspend or when touchscreen is not in use, but rather enables regulators at probe time. Power savings are achieved by requesting the controller to enter low power mode. Switch to devm_regulator_bulk_get_enable() instead of separately requesting regulators, enabling them, and installing a custom devm-action to disable them on unbind/remove, which simplifies the code. Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Link: https://lore.kernel.org/r/ZrAgj9rG6oVqfdoK@google.comSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Dmitry Torokhov authored
The driver does not use legacy GPIO API, stop including this header. Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Link: https://lore.kernel.org/r/ZrAaOu_vf-cVBhRn@google.comSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Dmitry Torokhov authored
The driver does not use legacy GPIO API, stop including this header. Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Link: https://lore.kernel.org/r/ZrAaHWNvaAfDlDfI@google.comSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Emanuele Ghidoli authored
Ensure that the touchscreen response has correct "report id" byte before processing the touch data and discard other messages. Fixes: 42370681 ("Input: Add support for ILITEK Lego Series") Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com> Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com> Link: https://lore.kernel.org/r/20240805085511.43955-3-francesco@dolcini.itSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Emanuele Ghidoli authored
For different reasons i2c transaction may fail or report id in the message may be wrong. Avoid closing the frame in this case as it will result in all contacts being dropped, indicating that nothing is touching the screen anymore, while usually it is not the case. Fixes: 42370681 ("Input: Add support for ILITEK Lego Series") Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com> Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com> Link: https://lore.kernel.org/r/20240805085511.43955-2-francesco@dolcini.itSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Marge Yang authored
Newer firmware allows to query touchpad resolution information by reading from resolution register. Presence of resolution register is signalled via bit 29 of the "register presence" register. On devices that lack this resolution register we fall back to using pitch and number of receivers data to calculate size of the sensor. Signed-off-by: Marge Yang <marge.yang@tw.synaptics.com> Signed-off-by: Vincent Huang <Vincent.Huang@tw.synaptics.com> Link: https://lore.kernel.org/r/20240805083636.1381205-1-marge.yang@tw.synaptics.comSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Dmitry Torokhov authored
This makes the code more compact and error handling more robust. Link: https://lore.kernel.org/r/20240711172719.1248373-6-dmitry.torokhov@gmail.comSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Dmitry Torokhov authored
Do not mark the device as wakeup-enabled by default, respect the standard "wakeup-source" property. Link: https://lore.kernel.org/r/20240711172719.1248373-5-dmitry.torokhov@gmail.comSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Dmitry Torokhov authored
Instead of setting irq_set_irq_wake() directly in probe(), mark the device as wakeup-capable, and use enable_irq_wake() and disable_irq_wake() in suspend/resume path. This also allows changing the wakeup setting dynamically at runtime using /sys/devices/.../tsc2005/power/wakeup. Reviewed-By: Sebastian Reichel <sre@kernel.org> Link: https://lore.kernel.org/r/20240711172719.1248373-4-dmitry.torokhov@gmail.comSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Dmitry Torokhov authored
When the driver has been converted to use gpiod API it was requesting and asserting the reset on probe, but never deasserted it. However because of incorrect annotations in device tree marking reset line as active high whereas in reality it is active low, the end result was that the chip was never reset on probe. With polarity of the reset line now corrected this became a problem. Fix this by calling tsc200x_reset() from tsc200x_probe() to properly complete the reset sequence and move requesting the reset GPIO and VIO supply closer to the point where we need to start talking to the hardware. Fixes: d257f298 ("Input: tsc2005 - convert to gpiod") Link: https://lore.kernel.org/r/20240711172719.1248373-3-dmitry.torokhov@gmail.comSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Dmitry Torokhov authored
Instead of hard-coding interrupt trigger rely on ACPI/DT/board code to set it up appropriately. Link: https://lore.kernel.org/r/20240711172719.1248373-2-dmitry.torokhov@gmail.comSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Dmitry Torokhov authored
The chip needs to be powered up before calling tsc200x_stop_scan() which communicates with it; move the call to enable the regulator earlier in tsc200x_probe(). At the same time switch to using devm_regulator_get_enable() to simplify error handling. This also makes sure that regulator is not shut off too early when unbinding the driver. Link: https://lore.kernel.org/r/20240711172719.1248373-1-dmitry.torokhov@gmail.comSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 31 Jul, 2024 1 commit
-
-
Rob Herring (Arm) authored
Use of_property_present() to test for property presence rather than of_get_property(). This is part of a larger effort to remove callers of of_get_property() and similar functions. of_get_property() leaks the DT property data pointer which is a problem for dynamically allocated nodes which may be freed. Signed-off-by: Rob Herring (Arm) <robh@kernel.org> Link: https://lore.kernel.org/r/20240731191312.1710417-14-robh@kernel.orgSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 28 Jul, 2024 1 commit
-
-
Christophe JAILLET authored
Use devm_clk_get_prepared() in order to remove a clk_unprepare() in an error handling path of the probe and from the .remove() function. This done, the whole .remove() function can also be axed because 'input_dev' is a managed resource allocated with devm_input_allocate_device() and we can fully rely on devm for cleaning up. Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Link: https://lore.kernel.org/r/062986b0a5105cbc61330da0e55b22c00e2c1c4f.1722062145.git.christophe.jaillet@wanadoo.frSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 24 Jul, 2024 1 commit
-
-
Binbin Zhou authored
This patch introduces a driver for the PixArt PS/2 touchpad, which supports both clickpad and touchpad types. At the same time, we extended the single data packet length to 16, because according to the current PixArt hardware and FW design, we need 11 bytes/15 bytes to represent the complete three-finger/four-finger data. Co-developed-by: Jon Xie <jon_xie@pixart.com> Signed-off-by: Jon Xie <jon_xie@pixart.com> Co-developed-by: Jay Lee <jay_lee@pixart.com> Signed-off-by: Jay Lee <jay_lee@pixart.com> Signed-off-by: Binbin Zhou <zhoubinbin@loongson.cn> Link: https://lore.kernel.org/r/20240704125243.3633569-1-zhoubinbin@loongson.cnSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 19 Jul, 2024 3 commits
-
-
Nikita Travkin authored
Zinitix touch controllers can use some of the sense lines for virtual keys (like those found on many phones). Add support for those keys. Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Nikita Travkin <nikita@trvn.ru> Link: https://lore.kernel.org/r/20240717-zinitix-tkey-v5-2-52ea4cd4bd50@trvn.ruSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Nikita Travkin authored
In some configurations the touch controller can support the touch-keys. Document the linux,keycodes property that enables those keys and specifies the keycodes that should be used to report the key events. Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Nikita Travkin <nikita@trvn.ru> Link: https://lore.kernel.org/r/20240717-zinitix-tkey-v5-1-52ea4cd4bd50@trvn.ruSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
Charles Wang authored
Export a sysfs interface that would allow reading and writing touchscreen IC registers. With this interface many things can be done in usersapce such as firmware updates. An example tool that utilizes this interface for performing firmware updates can be found at [1]. [1] https://github.com/goodix/fwupdate_for_berlin_linuxSigned-off-by: Charles Wang <charles.goodix@gmail.com> Link: https://lore.kernel.org/r/20240514115135.21410-1-charles.goodix@gmail.comSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 16 Jul, 2024 1 commit
-
-
Jacky Bai authored
Report input event directly on wakeup to ensure no press event is missed when resuming from suspend. Signed-off-by: Jacky Bai <ping.bai@nxp.com> Reviewed-by: Peng Fan <peng.fan@nxp.com> Acked-by: Jason Liu <jason.hui.liu@nxp.com> Signed-off-by: Frank Li <Frank.Li@nxp.com> Link: https://lore.kernel.org/r/20240716000721.3485597-1-Frank.Li@nxp.comSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-