Commit 906b955c authored by Bartosz Golaszewski's avatar Bartosz Golaszewski
Browse files

gpio: xilinx: convert set_multiple() to the new API as well



The patch converting the driver to using new GPIO line value setters
only converted the set() callback and missed set_multiple(). Fix it now.

Fixes: 1919ea19 ("gpio: xilinx: use new GPIO line value setter callbacks")
Acked-by: default avatarMichal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/20250717131116.53878-1-brgl@bgdev.pl


Signed-off-by: default avatarBartosz Golaszewski <bartosz.golaszewski@linaro.org>
parent 74896eae
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -175,7 +175,7 @@ static int xgpio_set(struct gpio_chip *gc, unsigned int gpio, int val)
 * This function writes the specified values into the specified signals of the
 * GPIO devices.
 */
static void xgpio_set_multiple(struct gpio_chip *gc, unsigned long *mask,
static int xgpio_set_multiple(struct gpio_chip *gc, unsigned long *mask,
			      unsigned long *bits)
{
	DECLARE_BITMAP(hw_mask, 64);
@@ -196,6 +196,8 @@ static void xgpio_set_multiple(struct gpio_chip *gc, unsigned long *mask,
	bitmap_copy(chip->state, state, 64);

	raw_spin_unlock_irqrestore(&chip->gpio_lock, flags);

	return 0;
}

/**
@@ -605,7 +607,7 @@ static int xgpio_probe(struct platform_device *pdev)
	chip->gc.set_rv = xgpio_set;
	chip->gc.request = xgpio_request;
	chip->gc.free = xgpio_free;
	chip->gc.set_multiple = xgpio_set_multiple;
	chip->gc.set_multiple_rv = xgpio_set_multiple;

	chip->gc.label = dev_name(dev);