mirror of
https://github.com/torvalds/linux.git
synced 2026-06-01 11:03:43 +02:00
gpio: moxtet: 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. Reviewed-by: Marek Behún <kabel@kernel.org> Link: https://lore.kernel.org/r/20250610-gpiochip-set-rv-gpio-v1-3-3a9a3c1472ff@linaro.org Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
This commit is contained in:
parent
d277461819
commit
b454580cf1
|
|
@ -52,15 +52,15 @@ static int moxtet_gpio_get_value(struct gpio_chip *gc, unsigned int offset)
|
|||
return !!(ret & BIT(offset));
|
||||
}
|
||||
|
||||
static void moxtet_gpio_set_value(struct gpio_chip *gc, unsigned int offset,
|
||||
int val)
|
||||
static int moxtet_gpio_set_value(struct gpio_chip *gc, unsigned int offset,
|
||||
int val)
|
||||
{
|
||||
struct moxtet_gpio_chip *chip = gpiochip_get_data(gc);
|
||||
int state;
|
||||
|
||||
state = moxtet_device_written(chip->dev);
|
||||
if (state < 0)
|
||||
return;
|
||||
return state;
|
||||
|
||||
offset -= MOXTET_GPIO_INPUTS;
|
||||
|
||||
|
|
@ -69,7 +69,7 @@ static void moxtet_gpio_set_value(struct gpio_chip *gc, unsigned int offset,
|
|||
else
|
||||
state &= ~BIT(offset);
|
||||
|
||||
moxtet_device_write(chip->dev, state);
|
||||
return moxtet_device_write(chip->dev, state);
|
||||
}
|
||||
|
||||
static int moxtet_gpio_get_direction(struct gpio_chip *gc, unsigned int offset)
|
||||
|
|
@ -104,13 +104,11 @@ static int moxtet_gpio_direction_output(struct gpio_chip *gc,
|
|||
struct moxtet_gpio_chip *chip = gpiochip_get_data(gc);
|
||||
|
||||
if (chip->desc->out_mask & BIT(offset))
|
||||
moxtet_gpio_set_value(gc, offset, val);
|
||||
return moxtet_gpio_set_value(gc, offset, val);
|
||||
else if (chip->desc->in_mask & BIT(offset))
|
||||
return -ENOTSUPP;
|
||||
else
|
||||
return -EINVAL;
|
||||
|
||||
return 0;
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
static int moxtet_gpio_probe(struct device *dev)
|
||||
|
|
@ -142,7 +140,7 @@ static int moxtet_gpio_probe(struct device *dev)
|
|||
chip->gpio_chip.direction_input = moxtet_gpio_direction_input;
|
||||
chip->gpio_chip.direction_output = moxtet_gpio_direction_output;
|
||||
chip->gpio_chip.get = moxtet_gpio_get_value;
|
||||
chip->gpio_chip.set = moxtet_gpio_set_value;
|
||||
chip->gpio_chip.set_rv = moxtet_gpio_set_value;
|
||||
chip->gpio_chip.base = -1;
|
||||
|
||||
chip->gpio_chip.ngpio = MOXTET_GPIO_NGPIOS;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user