mirror of
https://github.com/torvalds/linux.git
synced 2026-05-22 14:12:07 +02:00
gpio: loongson-64bit: use new 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: Peng Fan <peng.fan@nxp.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Link: https://lore.kernel.org/r/20250423-gpiochip-set-rv-gpio-part2-v1-10-b22245cde81a@linaro.org Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
This commit is contained in:
parent
ba2ce44332
commit
145c4d7052
|
|
@ -105,7 +105,7 @@ static int loongson_gpio_get_direction(struct gpio_chip *chip, unsigned int pin)
|
|||
return GPIO_LINE_DIRECTION_OUT;
|
||||
}
|
||||
|
||||
static void loongson_gpio_set(struct gpio_chip *chip, unsigned int pin, int value)
|
||||
static int loongson_gpio_set(struct gpio_chip *chip, unsigned int pin, int value)
|
||||
{
|
||||
unsigned long flags;
|
||||
struct loongson_gpio_chip *lgpio = to_loongson_gpio_chip(chip);
|
||||
|
|
@ -113,6 +113,8 @@ static void loongson_gpio_set(struct gpio_chip *chip, unsigned int pin, int valu
|
|||
spin_lock_irqsave(&lgpio->lock, flags);
|
||||
loongson_commit_level(lgpio, pin, value);
|
||||
spin_unlock_irqrestore(&lgpio->lock, flags);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int loongson_gpio_to_irq(struct gpio_chip *chip, unsigned int offset)
|
||||
|
|
@ -155,7 +157,7 @@ static int loongson_gpio_init(struct device *dev, struct loongson_gpio_chip *lgp
|
|||
lgpio->chip.get = loongson_gpio_get;
|
||||
lgpio->chip.get_direction = loongson_gpio_get_direction;
|
||||
lgpio->chip.direction_output = loongson_gpio_direction_output;
|
||||
lgpio->chip.set = loongson_gpio_set;
|
||||
lgpio->chip.set_rv = loongson_gpio_set;
|
||||
lgpio->chip.parent = dev;
|
||||
spin_lock_init(&lgpio->lock);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user