mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-02-21 16:28:34 -05:00
gpio: uniphier: 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. Acked-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com> Link: https://lore.kernel.org/r/20250707-gpiochip-set-rv-gpio-round4-v1-10-35668aaaf6d2@linaro.org Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
This commit is contained in:
@@ -138,14 +138,16 @@ static int uniphier_gpio_get(struct gpio_chip *chip, unsigned int offset)
|
||||
return uniphier_gpio_offset_read(chip, offset, UNIPHIER_GPIO_PORT_DATA);
|
||||
}
|
||||
|
||||
static void uniphier_gpio_set(struct gpio_chip *chip,
|
||||
unsigned int offset, int val)
|
||||
static int uniphier_gpio_set(struct gpio_chip *chip,
|
||||
unsigned int offset, int val)
|
||||
{
|
||||
uniphier_gpio_offset_write(chip, offset, UNIPHIER_GPIO_PORT_DATA, val);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void uniphier_gpio_set_multiple(struct gpio_chip *chip,
|
||||
unsigned long *mask, unsigned long *bits)
|
||||
static int uniphier_gpio_set_multiple(struct gpio_chip *chip,
|
||||
unsigned long *mask, unsigned long *bits)
|
||||
{
|
||||
unsigned long i, bank, bank_mask, bank_bits;
|
||||
|
||||
@@ -156,6 +158,8 @@ static void uniphier_gpio_set_multiple(struct gpio_chip *chip,
|
||||
uniphier_gpio_bank_write(chip, bank, UNIPHIER_GPIO_PORT_DATA,
|
||||
bank_mask, bank_bits);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int uniphier_gpio_to_irq(struct gpio_chip *chip, unsigned int offset)
|
||||
@@ -382,8 +386,8 @@ static int uniphier_gpio_probe(struct platform_device *pdev)
|
||||
chip->direction_input = uniphier_gpio_direction_input;
|
||||
chip->direction_output = uniphier_gpio_direction_output;
|
||||
chip->get = uniphier_gpio_get;
|
||||
chip->set = uniphier_gpio_set;
|
||||
chip->set_multiple = uniphier_gpio_set_multiple;
|
||||
chip->set_rv = uniphier_gpio_set;
|
||||
chip->set_multiple_rv = uniphier_gpio_set_multiple;
|
||||
chip->to_irq = uniphier_gpio_to_irq;
|
||||
chip->base = -1;
|
||||
chip->ngpio = ngpios;
|
||||
|
||||
Reference in New Issue
Block a user