Dmitry Torokhov
4e9cded619
Input: imx_keypad - add missing linux/input.h include
...
We are going to clean up matrix_keymap.h from unnecessary includes,
so the driver needs to include API that it uses directly.
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Link: https://lore.kernel.org/r/20220923194738.927408-4-dmitry.torokhov@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-09-26 08:15:10 -07:00
Dmitry Torokhov
81a7cba79d
Input: mt6779-keypad - add missing linux/input.h include
...
We are going to clean up matrix_keymap.h from unnecessary includes,
so the driver needs to include API that it uses directly.
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Link: https://lore.kernel.org/r/20220923194738.927408-3-dmitry.torokhov@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-09-26 08:15:03 -07:00
Dmitry Torokhov
d25a9d8f8d
Input: st-keyscan - add missing linux/input.h and linux/of.h includes
...
We are going to clean up matrix_keymap.h from unnecessary includes,
so the driver needs to include API that it uses directly.
Also let's sort includes alphabetically.
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Link: https://lore.kernel.org/r/20220923194738.927408-2-dmitry.torokhov@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-09-26 08:14:29 -07:00
Dmitry Torokhov
ddc9589d79
Input: lm8333 - add missing linux/input.h include
...
We are going to clean up matrix_keymap.h from unnecessary includes,
so the driver needs to include API that it uses directly.
Also let's sort includes alphabetically and drop unneeded irq.h
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Link: https://lore.kernel.org/r/20220923194738.927408-1-dmitry.torokhov@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-09-26 08:13:24 -07:00
Jason Wang
5db8a0d31c
Input: joydev - fix comment typo
...
The double `from' is duplicated in the comment, remove one.
Signed-off-by: Jason Wang <wangborong@cdjrlc.com >
Link: https://lore.kernel.org/r/20220804120800.60415-1-wangborong@cdjrlc.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-09-25 00:57:25 -07:00
Peter Ujfalusi
6dc0a438f9
Input: twl4030-vibra - drop legacy, non DT boot support
...
Legacy or non DT boot is no longer possible on systems where the
tw4030/5030 is used.
Drop the support for handling legacy pdata.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@gmail.com >
Link: https://lore.kernel.org/r/20220616153323.29464-1-peter.ujfalusi@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-09-24 22:40:04 -07:00
Matthias Schiffer
87d3d1b140
Input: synaptics-rmi4 - drop useless gotos in rmi_f34v7_do_reflash()
...
Returning directly makes the code clearer.
Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com >
Reviewed-by: Lyude Paul <lyude@redhat.com >
Link: https://lore.kernel.org/r/20220608124808.51402-10-matthias.schiffer@ew.tq-group.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-09-23 13:00:14 -07:00
Matthias Schiffer
7d128a8d41
Input: synaptics-rmi4 - simplify rmi_f34v7_start_reflash()
...
rmi_f34v7_enter_flash_prog() already enables IRQs and checks the flash
status - there's no need for rmi_f34v7_start_reflash() to do the same just
before calling rmi_f34v7_enter_flash_prog().
Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com >
Reviewed-by: Lyude Paul <lyude@redhat.com >
Link: https://lore.kernel.org/r/20220608124808.51402-9-matthias.schiffer@ew.tq-group.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-09-23 13:00:13 -07:00
Matthias Schiffer
b077d523d4
Input: synaptics-rmi4 - remove unneeded struct register_offset
...
All register offsets are fixed, and a number of places even read or
write multiple registers as a block, so there is no way to support
reordering them without move involved changes. Remove the unneeded level
of indirection in the register access.
Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com >
Reviewed-by: Lyude Paul <lyude@redhat.com >
Link: https://lore.kernel.org/r/20220608124808.51402-8-matthias.schiffer@ew.tq-group.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-09-23 13:00:13 -07:00
Matthias Schiffer
d8d007f25c
Input: synaptics-rmi4 - make rmi_f34v7_erase_all() use the "erase all" command
...
A full erase is required to recover from error conditions like "Bad
Partition Table". Various individual partition erase commands can be
(and need to be) omitted, as they will fail until a new partition table
has been written.
Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com >
Reviewed-by: Lyude Paul <lyude@redhat.com >
Link: https://lore.kernel.org/r/20220608124808.51402-7-matthias.schiffer@ew.tq-group.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-09-23 13:00:13 -07:00
Matthias Schiffer
d316e709cd
Input: synaptics-rmi4 - reset after writing partition table
...
When recovering from a bad partition table (for example after an
interrupted update), a reset is necessary for the new partition table to
become effective. Without this reset, writing the core code partition
will fail with status 0x03 (Invalid Command).
Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com >
Reviewed-by: Lyude Paul <lyude@redhat.com >
Link: https://lore.kernel.org/r/20220608124808.51402-6-matthias.schiffer@ew.tq-group.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-09-23 13:00:13 -07:00
Matthias Schiffer
0113b49bd9
Input: synaptics-rmi4 - rewrite partition table unconditionally
...
Preparation for use of the "erase application" command, which is required
to recover from a bad partition table error condition. Rather than adding
complex fallback error paths for such errors, it seems more robust to do
the full erase unconditionally.
Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com >
Reviewed-by: Lyude Paul <lyude@redhat.com >
Link: https://lore.kernel.org/r/20220608124808.51402-5-matthias.schiffer@ew.tq-group.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-09-23 13:00:13 -07:00
Matthias Schiffer
b4d6c6a07f
Input: synaptics-rmi4 - fix command completion check for bootloader v7/v8
...
The command register is reset to 0 when a command has completed. Check
for this condition instead of the error status, which will not accurately
reflect completion. In particular, the incorrect condition caused every
command error to be reported as a timeout.
Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com >
Reviewed-by: Lyude Paul <lyude@redhat.com >
Link: https://lore.kernel.org/r/20220608124808.51402-4-matthias.schiffer@ew.tq-group.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-09-23 13:00:13 -07:00
Matthias Schiffer
33fe4d976f
Input: synaptics-rmi4 - introduce rmi_f34v7_check_command_status() helper
...
Add a function that waits for the last command to complete and checks
the status, and use it where appropriate. This prepares for the subsequent
fix of the completion condition in rmi_f34_attention(), which would
previously lead to a timeout instead of a more detailed error message
whenever a command was unsuccessful with v7/v8 bootloaders.
Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com >
Reviewed-by: Lyude Paul <lyude@redhat.com >
Link: https://lore.kernel.org/r/20220608124808.51402-3-matthias.schiffer@ew.tq-group.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-09-23 13:00:13 -07:00
Matthias Schiffer
28f677e9d1
Input: synaptics-rmi4 - fix firmware update operations with bootloader v8
...
Commit a6977d758f ("Input: synaptics-rmi4 - support bootloader v8 in
f34v7") allowed the F34v7 driver to probe with bootloader v8, but it did
not update various other bootloader version checks in the F34 code.
Fixes: a6977d758f ("Input: synaptics-rmi4 - support bootloader v8 in f34v7")
Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com >
Reviewed-by: Lyude Paul <lyude@redhat.com >
Link: https://lore.kernel.org/r/20220608124808.51402-2-matthias.schiffer@ew.tq-group.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-09-23 13:00:13 -07:00
Andy Shevchenko
7aacc42f8d
Input: matrix_keypad - add missed header inclusion
...
The gpiod_count() API is defined in gpio/consumer.h. Include it.
Fixes: f8f7f47d57 ("Input: matrix_keypad - replace of_gpio_named_count() by gpiod_count()")
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Link: https://lore.kernel.org/r/20220923184632.2157-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-09-23 11:51:33 -07:00
Dmitry Torokhov
770a71b23c
Input: auo-pixcir-ts - switch to using generic device properties
...
Let's use generic device properties API instead of OF-specific one.
Reviewed-by: Heiko Stuebner <heiko@sntech.de >
Link: https://lore.kernel.org/r/20220914141428.2201784-4-dmitry.torokhov@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-09-16 06:38:51 -07:00
Dmitry Torokhov
60b7a6d0fd
Input: auo-pixcir-ts - do not force rising edge interrupt trigger
...
Instead of hard-coding rising edge as the interrupt trigger, let's rely on
the platform (ACPI, DT) to configure the interrupt properly.
Reviewed-by: Heiko Stuebner <heiko@sntech.de >
Link: https://lore.kernel.org/r/20220914141428.2201784-3-dmitry.torokhov@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-09-16 06:38:51 -07:00
Dmitry Torokhov
a750e24a2f
Input: auo-pixcir-ts - switch to using gpiod API
...
This switches the driver to gpiod API and drops uses of of_get_gpio() API.
Reviewed-by: Heiko Stuebner <heiko@sntech.de >
Link: https://lore.kernel.org/r/20220914141428.2201784-2-dmitry.torokhov@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-09-16 06:38:51 -07:00
Dmitry Torokhov
882597aff2
Input: auo-pixcir-ts - drop support for platform data
...
Currently there are no users of auo_pixcir_ts_platdata in the mainline, and
having it (with legacy gpio numbers) prevents us from converting the driver
to gpiod API, so let's drop it.
If, in the future, someone wants to use this driver on non-device tree,
non-ACPI system, they should use static device properties instead of
platform data.
Reviewed-by: Heiko Stuebner <heiko@sntech.de >
Link: https://lore.kernel.org/r/20220914141428.2201784-1-dmitry.torokhov@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-09-16 06:38:50 -07:00
Lyude Paul
7984b43542
Input: synaptics - enable InterTouch for the ThinkPad P1 G3
...
Noticed this while trying to debug some unrelated issues: this laptop has
the ability to use rmi4 but doesn't by default. So let's fix that.
Tested locally, including mouse buttons, on my ThinkPad P1 G3. This might
also enable the X1 Extreme G3, but I don't have such a system to test
locally (presumably Mark can chime in if that's the case).
Signed-off-by: Lyude Paul <lyude@redhat.com >
Link: https://lore.kernel.org/r/20220909202127.141761-1-lyude@redhat.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-09-14 05:35:16 -07:00
Jeff LaBundy
d56111ed58
Input: iqs7222 - set all ULP entry masks by default
...
Some devices expose an ultra-low-power (ULP) mode entry mask for
each channel. If the mask is set, the device cannot enter ULP so
long as the corresponding channel remains in an active state.
The vendor has advised setting the mask for any disabled channel.
To accommodate this suggestion, initially set all masks and then
clear them only if specified in the device tree.
Fixes: e505edaedc ("Input: add support for Azoteq IQS7222A/B/C")
Signed-off-by: Jeff LaBundy <jeff@labundy.com >
Link: https://lore.kernel.org/r/20220908131548.48120-8-jeff@labundy.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-09-14 03:08:50 -07:00
Jeff LaBundy
514c13b1fa
Input: iqs7222 - avoid sending empty SYN_REPORT events
...
Add a check to prevent sending undefined events, which ultimately
map to SYN_REPORT.
Fixes: e505edaedc ("Input: add support for Azoteq IQS7222A/B/C")
Signed-off-by: Jeff LaBundy <jeff@labundy.com >
Link: https://lore.kernel.org/r/20220908131548.48120-7-jeff@labundy.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-09-14 03:08:49 -07:00
Jeff LaBundy
10e629d31a
Input: iqs7222 - trim force communication command
...
According to the datasheets, writing only 0xFF is sufficient to
elicit a communication window. Remove the superfluous 0x00 from
the force communication command.
Fixes: e505edaedc ("Input: add support for Azoteq IQS7222A/B/C")
Signed-off-by: Jeff LaBundy <jeff@labundy.com >
Link: https://lore.kernel.org/r/20220908131548.48120-6-jeff@labundy.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-09-14 03:08:47 -07:00
AngeloGioacchino Del Regno
cd01569b04
Input: mtk-pmic-keys - add support for MT6331 PMIC keys
...
Add support for PMIC Keys of the MT6331 PMIC.
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com >
Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com >
Link: https://lore.kernel.org/r/20220913123941.385349-1-angelogioacchino.delregno@collabora.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-09-13 09:52:14 -07:00
wangjianli
e7ed42a44c
Input: hgpk - fix repeated word in a comment
...
Delete the redundant word 'to'.
Signed-off-by: wangjianli <wangjianli@cdjrlc.com >
Link: https://lore.kernel.org/r/20220908131043.37099-1-wangjianli@cdjrlc.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-09-08 14:06:23 -07:00
Christopher Crockett
e23c69e332
Input: xpad - add support for XBOX One Elite paddles
...
An effort has been made to support every official model and firmware
version I could track down info on. The following controllers _should_
have working paddles with this PR:
- Xbox Elite (**untested**)
- Xbox Elite Series 2 on early firmwares (**untested**)
- Xbox Elite Series 2 on v4 firmwares (Tested v4.8.1908.0)
- Xbox Elite Series 2 on v5 pre-BLE firmwares (**untested**)
- Xbox Elite Series 2 on v5 post-BLE firmwares (Tested v5.13.3143.0)
This patch also introduces correct handling for the Elite 1 controller
and properly suppresses paddle inputs when using a custom profile slot.
Starting with firmware v5.11, certain inputs for the Elite 2 were moved
to an extra packet that is not enabled by default.
We must first manually enable this extra packet in order to correctly
process paddle input data with these later firmwares.
Signed-off-by: Christopher Crockett <chaorace@gmail.com >
Signed-off-by: Pavel Rojtberg <rojtberg@gmail.com >
Tested-by: Bastien Nocera <hadess@hadess.net >
Link: https://lore.kernel.org/r/20220818154411.510308-5-rojtberg@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-09-06 11:45:27 -07:00
Santosh De Massari
da7e2128b8
Input: xpad - Poweroff XBOX360W on mode button long press
...
Newer gamepads turn themselves off when the mode button is held down.
For XBOX360W gamepads we must do this in the driver.
Do not use BIT() macro for consistency within the file.
Signed-off-by: Santosh De Massari <s.demassari@gmail.com >
Signed-off-by: Pavel Rojtberg <rojtberg@gmail.com >
Link: https://lore.kernel.org/r/20220818154411.510308-4-rojtberg@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-09-06 11:45:27 -07:00
Cameron Gutman
a17b984115
Input: xpad - fix wireless 360 controller breaking after suspend
...
Suspending and resuming the system can sometimes cause the out
URB to get hung after a reset_resume. This causes LED setting
and force feedback to break on resume. To avoid this, just drop
the reset_resume callback so the USB core rebinds xpad to the
wireless pads on resume if a reset happened.
A nice side effect of this change is the LED ring on wireless
controllers is now set correctly on system resume.
Cc: stable@vger.kernel.org
Fixes: 4220f7db1e ("Input: xpad - workaround dead irq_out after suspend/ resume")
Signed-off-by: Cameron Gutman <aicommander@gmail.com >
Signed-off-by: Pavel Rojtberg <rojtberg@gmail.com >
Link: https://lore.kernel.org/r/20220818154411.510308-3-rojtberg@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-09-06 11:45:27 -07:00
Pavel Rojtberg
b382c5e373
Input: xpad - add supported devices as contributed on github
...
This is based on multiple commits at https://github.com/paroj/xpad
Cc: stable@vger.kernel.org
Signed-off-by: Jasper Poppe <jgpoppe@gmail.com >
Signed-off-by: Jeremy Palmer <jpalmer@linz.govt.nz >
Signed-off-by: Ruineka <ruinairas1992@gmail.com >
Signed-off-by: Cleber de Mattos Casali <clebercasali@gmail.com >
Signed-off-by: Kyle Gospodnetich <me@kylegospodneti.ch >
Signed-off-by: Pavel Rojtberg <rojtberg@gmail.com >
Link: https://lore.kernel.org/r/20220818154411.510308-2-rojtberg@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-09-06 11:45:27 -07:00
Dmitry Torokhov
f4e7a25429
Input: aiptek - switch to using dev_groups for driver-specific attributes
...
The driver core now has the ability to handle the creation and removal
of device-specific sysfs files, let's use it instead of registering and
unregistering attributes by hand.
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
Link: https://lore.kernel.org/r/20220903051119.1332808-3-dmitry.torokhov@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-09-03 12:31:18 -07:00
Dmitry Torokhov
fd30a4ba81
Input: psmouse - switch to using dev_groups for driver-specific attributes
...
The driver core now has the ability to handle the creation and removal
of device-specific sysfs files, let's use it instead of registering and
unregistering attributes by hand.
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
Link: https://lore.kernel.org/r/20220903051119.1332808-2-dmitry.torokhov@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-09-03 12:31:18 -07:00
Dmitry Torokhov
c99e3ac632
Input: atkbd - switch to using dev_groups for driver-specific attributes
...
The driver core now has the ability to handle the creation and removal
of device-specific sysfs files, let's use it instead of registering and
unregistering attributes by hand.
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
Link: https://lore.kernel.org/r/20220903051119.1332808-1-dmitry.torokhov@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-09-03 12:31:18 -07:00
ChiYuan Huang
ed3d5bd20d
Input: rt5120 - add power key support
...
Add RT5120 PMIC power key support.
Signed-off-by: ChiYuan Huang <cy_huang@richtek.com >
Link: https://lore.kernel.org/r/1660100142-32493-4-git-send-email-u0084500@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-08-31 15:48:49 -07:00
Max Krummenacher
8a32cff217
Input: colibri-vf50-ts - don't depend on VF610_ADC
...
Any IIO ADC can be used with the driver, so do not depend
on VF610_ADC.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com >
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com >
Link: https://lore.kernel.org/r/20220712101619.326120-2-francesco.dolcini@toradex.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-08-31 10:38:04 -07:00
Nuno Sá
4f35adaee0
Input: adp5588-keys - use new PM macros
...
With the new PM macros (DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()), the
compiler has visibility to see that the functions are not used when
!CONFIG_PM and hence, remove the dead code. As such, there's no need
for '__maybe_unused'.
Signed-off-by: Nuno Sá <nuno.sa@analog.com >
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Link: https://lore.kernel.org/r/20220829131553.690063-11-nuno.sa@analog.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-08-30 21:16:35 -07:00
Nuno Sá
73d4a5423e
Input: adp5588-keys - add regulator support
...
Support feeding VCC through a regulator.
Signed-off-by: Nuno Sá <nuno.sa@analog.com >
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Link: https://lore.kernel.org/r/20220829131553.690063-10-nuno.sa@analog.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-08-30 21:16:33 -07:00
Nuno Sá
cfacae5864
Input: adp5588-keys - add optional reset gpio
...
Optionally reset the device during probe.
Signed-off-by: Nuno Sá <nuno.sa@analog.com >
Reviewed-by: Linus Walleij <linus.walleij@linaro.org >
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Link: https://lore.kernel.org/r/20220829131553.690063-9-nuno.sa@analog.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-08-30 21:16:32 -07:00
Nuno Sá
e22d21d31f
Input: adp5588-keys - fix coding style warnings
...
Just some code cleanup regarding coding style. With the introduction of
the bits.h macros changes in the code are indeed introduced.
Signed-off-by: Nuno Sá <nuno.sa@analog.com >
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Link: https://lore.kernel.org/r/20220829131553.690063-8-nuno.sa@analog.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-08-30 21:16:30 -07:00
Nuno Sá
0063aecc61
Input: adp5588-keys - do not check for irq presence
...
There's no need for an extra check for 'client-irq'. Just let it fail when
calling 'request_irq()'.
Signed-off-by: Nuno Sá <nuno.sa@analog.com >
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Link: https://lore.kernel.org/r/20220829131553.690063-7-nuno.sa@analog.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-08-30 21:16:28 -07:00
Nuno Sá
6704a86283
Input: adp5588-keys - add support for fw properties
...
Use firmware properties (eg: OF) to get the device specific
configuration. This change just replaces the platform data since there
was no platform using it and so, it makes no sense having both.
Special note to the PULL-UP disable setting that is now supported as
part of the gpio subsystem (using 'set_config()' callback).
Signed-off-by: Nuno Sá <nuno.sa@analog.com >
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Link: https://lore.kernel.org/r/20220829131553.690063-5-nuno.sa@analog.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-08-30 21:16:06 -07:00
Nuno Sá
e960309ce3
Input: adp5588-keys - bail out on returned error
...
Don't continue in code paths after some error is found. It makes no
sense to do any other device configuration if a previous one failed.
Signed-off-by: Nuno Sá <nuno.sa@analog.com >
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Link: https://lore.kernel.org/r/20220829131553.690063-4-nuno.sa@analog.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-08-30 21:16:05 -07:00
Nuno Sá
9d2b2e83ef
Input: adp5588-keys - support gpi key events as 'gpio keys'
...
This change replaces the support for GPIs as key event generators.
Instead of reporting the events directly, we add a gpio based irqchip
so that these events can be consumed by keys defined in the gpio-keys
driver (as it's goal is indeed for keys on GPIOs capable of generating
interrupts). With this, the gpio-adp5588 driver can also be dropped.
The basic idea is that all the pins that are not being used as part of
the keymap matrix can be possibly requested as GPIOs by gpio-keys
(it's also fine to use these pins as plain interrupts though that's not
really the point).
Since the gpiochip now also has irqchip capabilities, we should only
remove it after we free the device interrupt (otherwise we could, in
theory, be handling GPIs interrupts while the gpiochip is concurrently
removed). Thus the call 'adp5588_gpio_add()' is moved and since the
setup phase also needs to come before making the gpios visible, we also
need to move 'adp5588_setup()'.
While at it, always select GPIOLIB so that we don't need to use #ifdef
guards.
Signed-off-by: Nuno Sá <nuno.sa@analog.com >
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Link: https://lore.kernel.org/r/20220829131553.690063-2-nuno.sa@analog.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-08-30 20:56:22 -07:00
Andy Shevchenko
f8f7f47d57
Input: matrix_keypad - replace of_gpio_named_count() by gpiod_count()
...
As a preparation to unexport of_gpio_named_count(), convert the
driver to use gpiod_count() instead.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Link: https://lore.kernel.org/r/20220830183552.50695-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-08-30 14:20:01 -07:00
Andy Shevchenko
c5872d6a04
Input: clps711x-keypad - get rid of OF_GPIO dependency
...
There is no such dependency in the driver, but it's implicitly
used to have OF property APIs available. Replace that by device
property API and get rid of OF_GPIO dependency.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Link: https://lore.kernel.org/r/20220830182839.47965-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-08-30 14:20:00 -07:00
Wolfram Sang
a9f08ad7ad
Input: move from strlcpy with unused retval to strscpy
...
Follow the advice of the below link and prefer 'strscpy' in this
subsystem. Conversion is 1:1 because the return value is not used.
Generated by a coccinelle script.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com >
Link: https://lore.kernel.org/r/20220818210022.6865-1-wsa+renesas@sang-engineering.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-08-18 15:44:08 -07:00
Chris Morgan
24c06e000e
Input: adc-joystick - add polled input device support
...
Add polled input device support to the adc-joystick driver. This is
useful for devices which do not have hardware capable triggers on
their SARADC. Code modified from adc-joystick.c changes made by Maya
Matuszczyk.
Signed-off-by: Maya Matuszczyk <maccraft123mc@gmail.com >
Signed-off-by: Chris Morgan <macromorgan@hotmail.com >
Link: https://lore.kernel.org/r/20220816210440.14260-3-macroalpha82@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-08-17 12:32:51 -07:00
Eddie James
2e6f34faa7
Input: Add IBM Operation Panel driver
...
Add a driver to get the button events from the panel and provide
them to userspace with the input subsystem. The panel is
connected with I2C and controls the bus, so the driver registers
as an I2C slave device.
Signed-off-by: Eddie James <eajames@linux.ibm.com >
Reviewed-by: Joel Stanley <joel@jms.id.au >
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com > # I2C slave parts
Link: https://lore.kernel.org/r/20220809204147.238132-3-eajames@linux.ibm.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-08-17 12:32:32 -07:00
Dmitry Torokhov
93fbff1197
Merge branch 'i2c/make_remove_callback_void-immutable' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux into next
...
Sync up with the latest I2C code base to get updated prototype of I2C
bus remove() method.
2022-08-17 12:30:00 -07:00
Uwe Kleine-König
ed5c2f5fd1
i2c: Make remove callback return void
...
The value returned by an i2c driver's remove function is mostly ignored.
(Only an error message is printed if the value is non-zero that the
error is ignored.)
So change the prototype of the remove function to return no value. This
way driver authors are not tempted to assume that passing an error to
the upper layer is a good idea. All drivers are adapted accordingly.
There is no intended change of behaviour, all callbacks were prepared to
return 0 before.
Reviewed-by: Peter Senna Tschudin <peter.senna@gmail.com >
Reviewed-by: Jeremy Kerr <jk@codeconstruct.com.au >
Reviewed-by: Benjamin Mugnier <benjamin.mugnier@foss.st.com >
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com >
Reviewed-by: Crt Mori <cmo@melexis.com >
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com >
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
Acked-by: Marek Behún <kabel@kernel.org > # for leds-turris-omnia
Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Reviewed-by: Petr Machata <petrm@nvidia.com > # for mlxsw
Reviewed-by: Maximilian Luz <luzmaximilian@gmail.com > # for surface3_power
Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com > # for bmc150-accel-i2c + kxcjk-1013
Reviewed-by: Hans Verkuil <hverkuil-cisco@xs4all.nl > # for media/* + staging/media/*
Acked-by: Miguel Ojeda <ojeda@kernel.org > # for auxdisplay/ht16k33 + auxdisplay/lcd2s
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com > # for versaclock5
Reviewed-by: Ajay Gupta <ajayg@nvidia.com > # for ucsi_ccg
Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com > # for iio
Acked-by: Peter Rosin <peda@axentia.se > # for i2c-mux-*, max9860
Acked-by: Adrien Grassein <adrien.grassein@gmail.com > # for lontium-lt8912b
Reviewed-by: Jean Delvare <jdelvare@suse.de > # for hwmon, i2c-core and i2c/muxes
Acked-by: Corey Minyard <cminyard@mvista.com > # for IPMI
Reviewed-by: Vladimir Oltean <olteanv@gmail.com >
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
Acked-by: Sebastian Reichel <sebastian.reichel@collabora.com > # for drivers/power
Acked-by: Krzysztof Hałasa <khalasa@piap.pl >
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de >
Signed-off-by: Wolfram Sang <wsa@kernel.org >
2022-08-16 12:46:26 +02:00