mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 09:04:39 +02:00
gpio: tps65218: 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. Link: https://lore.kernel.org/r/20250702-gpiochip-set-rv-gpio-round3-v1-10-0d23be74f71d@linaro.org Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
This commit is contained in:
parent
913cbf8a0d
commit
4ca81a1f3a
|
|
@ -34,29 +34,28 @@ static int tps65218_gpio_get(struct gpio_chip *gc, unsigned offset)
|
|||
return !!(val & (TPS65218_ENABLE2_GPIO1 << offset));
|
||||
}
|
||||
|
||||
static void tps65218_gpio_set(struct gpio_chip *gc, unsigned offset,
|
||||
int value)
|
||||
static int tps65218_gpio_set(struct gpio_chip *gc, unsigned int offset,
|
||||
int value)
|
||||
{
|
||||
struct tps65218_gpio *tps65218_gpio = gpiochip_get_data(gc);
|
||||
struct tps65218 *tps65218 = tps65218_gpio->tps65218;
|
||||
|
||||
if (value)
|
||||
tps65218_set_bits(tps65218, TPS65218_REG_ENABLE2,
|
||||
TPS65218_ENABLE2_GPIO1 << offset,
|
||||
TPS65218_ENABLE2_GPIO1 << offset,
|
||||
TPS65218_PROTECT_L1);
|
||||
else
|
||||
tps65218_clear_bits(tps65218, TPS65218_REG_ENABLE2,
|
||||
TPS65218_ENABLE2_GPIO1 << offset,
|
||||
TPS65218_PROTECT_L1);
|
||||
return tps65218_set_bits(tps65218, TPS65218_REG_ENABLE2,
|
||||
TPS65218_ENABLE2_GPIO1 << offset,
|
||||
TPS65218_ENABLE2_GPIO1 << offset,
|
||||
TPS65218_PROTECT_L1);
|
||||
|
||||
return tps65218_clear_bits(tps65218, TPS65218_REG_ENABLE2,
|
||||
TPS65218_ENABLE2_GPIO1 << offset,
|
||||
TPS65218_PROTECT_L1);
|
||||
}
|
||||
|
||||
static int tps65218_gpio_output(struct gpio_chip *gc, unsigned offset,
|
||||
int value)
|
||||
{
|
||||
/* Only drives GPOs */
|
||||
tps65218_gpio_set(gc, offset, value);
|
||||
return 0;
|
||||
return tps65218_gpio_set(gc, offset, value);
|
||||
}
|
||||
|
||||
static int tps65218_gpio_request(struct gpio_chip *gc, unsigned offset)
|
||||
|
|
@ -170,7 +169,7 @@ static const struct gpio_chip template_chip = {
|
|||
.request = tps65218_gpio_request,
|
||||
.direction_output = tps65218_gpio_output,
|
||||
.get = tps65218_gpio_get,
|
||||
.set = tps65218_gpio_set,
|
||||
.set_rv = tps65218_gpio_set,
|
||||
.set_config = tps65218_gpio_set_config,
|
||||
.can_sleep = true,
|
||||
.ngpio = 3,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user