mirror of
https://github.com/torvalds/linux.git
synced 2026-05-31 18:43:33 +02:00
Input: ad7879 - use new GPIO line value setter callbacks
struct gpio_chip now has callbacks for setting line values that return an integer, allowing to indicate failures. Convert the driver to using them. Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> Acked-by: Michael Hennerich <michael.hennerich@analog.com> Link: https://lore.kernel.org/r/20250610-gpiochip-set-rv-input-v1-1-5875240b48d8@linaro.org Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
parent
36b624b992
commit
4aaadf94aa
|
|
@ -444,10 +444,11 @@ static int ad7879_gpio_get_value(struct gpio_chip *chip, unsigned gpio)
|
|||
return !!(val & AD7879_GPIO_DATA);
|
||||
}
|
||||
|
||||
static void ad7879_gpio_set_value(struct gpio_chip *chip,
|
||||
unsigned gpio, int value)
|
||||
static int ad7879_gpio_set_value(struct gpio_chip *chip, unsigned int gpio,
|
||||
int value)
|
||||
{
|
||||
struct ad7879 *ts = gpiochip_get_data(chip);
|
||||
int ret;
|
||||
|
||||
mutex_lock(&ts->mutex);
|
||||
if (value)
|
||||
|
|
@ -455,8 +456,10 @@ static void ad7879_gpio_set_value(struct gpio_chip *chip,
|
|||
else
|
||||
ts->cmd_crtl2 &= ~AD7879_GPIO_DATA;
|
||||
|
||||
ad7879_write(ts, AD7879_REG_CTRL2, ts->cmd_crtl2);
|
||||
ret = ad7879_write(ts, AD7879_REG_CTRL2, ts->cmd_crtl2);
|
||||
mutex_unlock(&ts->mutex);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int ad7879_gpio_add(struct ad7879 *ts)
|
||||
|
|
@ -472,7 +475,7 @@ static int ad7879_gpio_add(struct ad7879 *ts)
|
|||
ts->gc.direction_input = ad7879_gpio_direction_input;
|
||||
ts->gc.direction_output = ad7879_gpio_direction_output;
|
||||
ts->gc.get = ad7879_gpio_get_value;
|
||||
ts->gc.set = ad7879_gpio_set_value;
|
||||
ts->gc.set_rv = ad7879_gpio_set_value;
|
||||
ts->gc.can_sleep = 1;
|
||||
ts->gc.base = -1;
|
||||
ts->gc.ngpio = 1;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user