mirror of https://github.com/torvalds/linux.git
gpio: wm8994: 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. Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20250709-gpiochip-set-rv-gpio-remaining-v1-8-b8950f69618d@linaro.org Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
This commit is contained in:
parent
f7a680e9c2
commit
47b427311d
|
|
@ -89,7 +89,8 @@ static int wm8994_gpio_direction_out(struct gpio_chip *chip,
|
|||
WM8994_GPN_DIR | WM8994_GPN_LVL, value);
|
||||
}
|
||||
|
||||
static void wm8994_gpio_set(struct gpio_chip *chip, unsigned offset, int value)
|
||||
static int wm8994_gpio_set(struct gpio_chip *chip, unsigned int offset,
|
||||
int value)
|
||||
{
|
||||
struct wm8994_gpio *wm8994_gpio = gpiochip_get_data(chip);
|
||||
struct wm8994 *wm8994 = wm8994_gpio->wm8994;
|
||||
|
|
@ -97,7 +98,8 @@ static void wm8994_gpio_set(struct gpio_chip *chip, unsigned offset, int value)
|
|||
if (value)
|
||||
value = WM8994_GPN_LVL;
|
||||
|
||||
wm8994_set_bits(wm8994, WM8994_GPIO_1 + offset, WM8994_GPN_LVL, value);
|
||||
return wm8994_set_bits(wm8994, WM8994_GPIO_1 + offset, WM8994_GPN_LVL,
|
||||
value);
|
||||
}
|
||||
|
||||
static int wm8994_gpio_set_config(struct gpio_chip *chip, unsigned int offset,
|
||||
|
|
@ -254,7 +256,7 @@ static const struct gpio_chip template_chip = {
|
|||
.direction_input = wm8994_gpio_direction_in,
|
||||
.get = wm8994_gpio_get,
|
||||
.direction_output = wm8994_gpio_direction_out,
|
||||
.set = wm8994_gpio_set,
|
||||
.set_rv = wm8994_gpio_set,
|
||||
.set_config = wm8994_gpio_set_config,
|
||||
.to_irq = wm8994_gpio_to_irq,
|
||||
.dbg_show = wm8994_gpio_dbg_show,
|
||||
|
|
|
|||
Loading…
Reference in New Issue