mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
gpio: sch311x: 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/20250625-gpiochip-set-rv-gpio-round2-v1-2-bc110a3b52ff@linaro.org Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
This commit is contained in:
@@ -178,14 +178,16 @@ static void __sch311x_gpio_set(struct sch311x_gpio_block *block,
|
||||
outb(data, block->runtime_reg + block->data_reg);
|
||||
}
|
||||
|
||||
static void sch311x_gpio_set(struct gpio_chip *chip, unsigned offset,
|
||||
int value)
|
||||
static int sch311x_gpio_set(struct gpio_chip *chip, unsigned int offset,
|
||||
int value)
|
||||
{
|
||||
struct sch311x_gpio_block *block = gpiochip_get_data(chip);
|
||||
|
||||
spin_lock(&block->lock);
|
||||
__sch311x_gpio_set(block, offset, value);
|
||||
spin_unlock(&block->lock);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int sch311x_gpio_direction_in(struct gpio_chip *chip, unsigned offset)
|
||||
@@ -295,7 +297,7 @@ static int sch311x_gpio_probe(struct platform_device *pdev)
|
||||
block->chip.get_direction = sch311x_gpio_get_direction;
|
||||
block->chip.set_config = sch311x_gpio_set_config;
|
||||
block->chip.get = sch311x_gpio_get;
|
||||
block->chip.set = sch311x_gpio_set;
|
||||
block->chip.set_rv = sch311x_gpio_set;
|
||||
block->chip.ngpio = 8;
|
||||
block->chip.parent = &pdev->dev;
|
||||
block->chip.base = sch311x_gpio_blocks[i].base;
|
||||
|
||||
Reference in New Issue
Block a user