mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
gpio: xilinx: 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/20250709-gpiochip-set-rv-gpio-remaining-v1-10-b8950f69618d@linaro.org Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
This commit is contained in:
parent
0933fc87f3
commit
1919ea19a4
1 changed files with 4 additions and 2 deletions
|
@ -148,7 +148,7 @@ static int xgpio_get(struct gpio_chip *gc, unsigned int gpio)
|
||||||
* This function writes the specified value in to the specified signal of the
|
* This function writes the specified value in to the specified signal of the
|
||||||
* GPIO device.
|
* GPIO device.
|
||||||
*/
|
*/
|
||||||
static void xgpio_set(struct gpio_chip *gc, unsigned int gpio, int val)
|
static int xgpio_set(struct gpio_chip *gc, unsigned int gpio, int val)
|
||||||
{
|
{
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
struct xgpio_instance *chip = gpiochip_get_data(gc);
|
struct xgpio_instance *chip = gpiochip_get_data(gc);
|
||||||
|
@ -162,6 +162,8 @@ static void xgpio_set(struct gpio_chip *gc, unsigned int gpio, int val)
|
||||||
xgpio_write_ch(chip, XGPIO_DATA_OFFSET, bit, chip->state);
|
xgpio_write_ch(chip, XGPIO_DATA_OFFSET, bit, chip->state);
|
||||||
|
|
||||||
raw_spin_unlock_irqrestore(&chip->gpio_lock, flags);
|
raw_spin_unlock_irqrestore(&chip->gpio_lock, flags);
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -600,7 +602,7 @@ static int xgpio_probe(struct platform_device *pdev)
|
||||||
chip->gc.direction_input = xgpio_dir_in;
|
chip->gc.direction_input = xgpio_dir_in;
|
||||||
chip->gc.direction_output = xgpio_dir_out;
|
chip->gc.direction_output = xgpio_dir_out;
|
||||||
chip->gc.get = xgpio_get;
|
chip->gc.get = xgpio_get;
|
||||||
chip->gc.set = xgpio_set;
|
chip->gc.set_rv = xgpio_set;
|
||||||
chip->gc.request = xgpio_request;
|
chip->gc.request = xgpio_request;
|
||||||
chip->gc.free = xgpio_free;
|
chip->gc.free = xgpio_free;
|
||||||
chip->gc.set_multiple = xgpio_set_multiple;
|
chip->gc.set_multiple = xgpio_set_multiple;
|
||||||
|
|
Loading…
Add table
Reference in a new issue