Skip to content

Commit 9c37821

Browse files
author
Bartosz Golaszewski
committed
ARM: sa1100/gpio: 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. Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Bartosz Golaszewski <[email protected]>
1 parent 6982e6b commit 9c37821

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

arch/arm/common/sa1111.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -563,7 +563,7 @@ static int sa1111_gpio_get(struct gpio_chip *gc, unsigned offset)
563563
return !!(readl_relaxed(reg + SA1111_GPIO_PXDRR) & mask);
564564
}
565565

566-
static void sa1111_gpio_set(struct gpio_chip *gc, unsigned offset, int value)
566+
static int sa1111_gpio_set(struct gpio_chip *gc, unsigned int offset, int value)
567567
{
568568
struct sa1111 *sachip = gc_to_sa1111(gc);
569569
unsigned long flags;
@@ -574,6 +574,8 @@ static void sa1111_gpio_set(struct gpio_chip *gc, unsigned offset, int value)
574574
sa1111_gpio_modify(reg + SA1111_GPIO_PXDWR, mask, value ? mask : 0);
575575
sa1111_gpio_modify(reg + SA1111_GPIO_PXSSR, mask, value ? mask : 0);
576576
spin_unlock_irqrestore(&sachip->lock, flags);
577+
578+
return 0;
577579
}
578580

579581
static void sa1111_gpio_set_multiple(struct gpio_chip *gc, unsigned long *mask,
@@ -613,7 +615,7 @@ static int sa1111_setup_gpios(struct sa1111 *sachip)
613615
sachip->gc.direction_input = sa1111_gpio_direction_input;
614616
sachip->gc.direction_output = sa1111_gpio_direction_output;
615617
sachip->gc.get = sa1111_gpio_get;
616-
sachip->gc.set = sa1111_gpio_set;
618+
sachip->gc.set_rv = sa1111_gpio_set;
617619
sachip->gc.set_multiple = sa1111_gpio_set_multiple;
618620
sachip->gc.to_irq = sa1111_gpio_to_irq;
619621
sachip->gc.base = -1;

0 commit comments

Comments
 (0)