mirror of
https://github.com/torvalds/linux.git
synced 2026-01-25 15:03:52 +08:00
gpio: lp3943: 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. Reviewed-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Link: https://lore.kernel.org/r/20250423-gpiochip-set-rv-gpio-part2-v1-12-b22245cde81a@linaro.org Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
This commit is contained in:
@@ -147,7 +147,8 @@ static int lp3943_gpio_get(struct gpio_chip *chip, unsigned int offset)
|
||||
return lp3943_get_gpio_out_status(lp3943_gpio, chip, offset);
|
||||
}
|
||||
|
||||
static void lp3943_gpio_set(struct gpio_chip *chip, unsigned int offset, int value)
|
||||
static int lp3943_gpio_set(struct gpio_chip *chip, unsigned int offset,
|
||||
int value)
|
||||
{
|
||||
struct lp3943_gpio *lp3943_gpio = gpiochip_get_data(chip);
|
||||
u8 data;
|
||||
@@ -157,15 +158,19 @@ static void lp3943_gpio_set(struct gpio_chip *chip, unsigned int offset, int val
|
||||
else
|
||||
data = LP3943_GPIO_OUT_LOW;
|
||||
|
||||
lp3943_gpio_set_mode(lp3943_gpio, offset, data);
|
||||
return lp3943_gpio_set_mode(lp3943_gpio, offset, data);
|
||||
}
|
||||
|
||||
static int lp3943_gpio_direction_output(struct gpio_chip *chip, unsigned int offset,
|
||||
int value)
|
||||
{
|
||||
struct lp3943_gpio *lp3943_gpio = gpiochip_get_data(chip);
|
||||
int ret;
|
||||
|
||||
ret = lp3943_gpio_set(chip, offset, value);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
lp3943_gpio_set(chip, offset, value);
|
||||
lp3943_gpio->input_mask &= ~BIT(offset);
|
||||
|
||||
return 0;
|
||||
@@ -179,7 +184,7 @@ static const struct gpio_chip lp3943_gpio_chip = {
|
||||
.direction_input = lp3943_gpio_direction_input,
|
||||
.get = lp3943_gpio_get,
|
||||
.direction_output = lp3943_gpio_direction_output,
|
||||
.set = lp3943_gpio_set,
|
||||
.set_rv = lp3943_gpio_set,
|
||||
.base = -1,
|
||||
.ngpio = LP3943_MAX_GPIO,
|
||||
.can_sleep = 1,
|
||||
|
||||
Reference in New Issue
Block a user