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
a212f5ca57
dt-bindings: input: colibri-vf50-ts: Improve documentation
...
Clarify properties definition, drop unused pinctrl-2 state 'gpio'.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com >
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com >
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://lore.kernel.org/r/20220712101619.326120-3-francesco.dolcini@toradex.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-08-31 10:38:06 -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á
81ce5b7741
dt-bindings: input: adp5588: add bindings
...
Add device tree bindings for the adp5588-keys driver.
Signed-off-by: Nuno Sá <nuno.sa@analog.com >
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://lore.kernel.org/r/20220829131553.690063-6-nuno.sa@analog.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-08-30 21:16:08 -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á
5ddc896088
gpio: gpio-adp5588: drop the driver
...
With commit 9d2b2e83ef ("Input: adp5588-keys - support gpi key events as
'gpio keys'") the irchip functionality is directly supported in the input
driver as the main goal of these pins is to be used as gpio keys. Hence,
this driver can be removed.
Signed-off-by: Nuno Sá <nuno.sa@analog.com >
Acked-by: Bartosz Golaszewski <brgl@bgdev.pl >
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Link: https://lore.kernel.org/r/20220829131553.690063-3-nuno.sa@analog.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-08-30 21:16:03 -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
a9da7251ac
Input: gameport - 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/20220818210156.8143-1-wsa+renesas@sang-engineering.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-08-22 17:16:24 -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
Chris Morgan
c42a5ff530
dt-bindings: adc-joystick: add poll-interval
...
Add poll-interval support for the adc-joystick documentation. This is
an optional value and if not provided the adc-joystick works as it
does today (with buffers). If this value is provided, the adc-joystick
driver is polled at the specified interval. The existing attribute of
"poll-interval" was used instead of complying with property-units.yaml
after discussion of the issue on the mailing list.
Signed-off-by: Maya Matuszczyk <maccraft123mc@gmail.com >
Signed-off-by: Chris Morgan <macromorgan@hotmail.com >
Reviewed-by: Rob Herring <robh@kernel.org >
Acked-by: Artur Rojek <contact@artur-rojek.eu >
Link: https://lore.kernel.org/r/20220816210440.14260-2-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
Eddie James
bc604fbb49
dt-bindings: input: Add documentation for IBM Operation Panel
...
Document the bindings for the IBM Operation Panel, which provides
a simple interface to control a server. It has a display and three
buttons.
Also update MAINTAINERS for the new file.
Signed-off-by: Eddie James <eajames@linux.ibm.com >
Reviewed-by: Rob Herring <robh@kernel.org >
Acked-by: Joel Stanley <joel@jms.id.au >
Link: https://lore.kernel.org/r/20220809204147.238132-2-eajames@linux.ibm.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com >
2022-08-17 12:32:02 -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
Uwe Kleine-König
6a8f359c31
gpio: pca953x: Make platform teardown callback return void
...
All platforms that provide a teardown callback return 0. New users are
supposed to not make use of platform support, so there is no
functionality lost.
This patch is a preparation for making i2c remove callbacks return void.
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de >
Acked-by: Bartosz Golaszewski <brgl@bgdev.pl >
Signed-off-by: Wolfram Sang <wsa@kernel.org >
2022-08-16 12:34:13 +02:00
Uwe Kleine-König
22a2343689
leds: lm3601x: Improve error reporting for problems during .remove()
...
Returning an error value in an i2c remove callback results in a generic
error message being emitted by the i2c core, but otherwise it doesn't
make a difference. The device goes away anyhow and the devm cleanups are
called.
So instead of triggering the generic i2c error message, emit a more
helpful message if a problem occurs and return 0 to suppress the generic
message.
This patch is a preparation for making i2c remove callbacks return void.
Acked-by: Pavel Machek <pavel@ucw.cz >
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de >
Signed-off-by: Wolfram Sang <wsa@kernel.org >
2022-08-16 12:34:04 +02:00