Unverified Commit 127c53d6 authored by Bartosz Golaszewski's avatar Bartosz Golaszewski Committed by Mark Brown
Browse files

ASoC: codecs: wm8903: 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.

Signed-off-by: default avatarBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Link: https://patch.msgid.link/20250408-gpiochip-set-rv-sound-v1-10-dd54b6ca1ef9@linaro.org


Reviewed-by: default avatarCharles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent c849a7cf
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -1825,11 +1825,13 @@ static int wm8903_gpio_direction_out(struct gpio_chip *chip,
	return 0;
}

static void wm8903_gpio_set(struct gpio_chip *chip, unsigned offset, int value)
static int wm8903_gpio_set(struct gpio_chip *chip, unsigned int offset,
			   int value)
{
	struct wm8903_priv *wm8903 = gpiochip_get_data(chip);

	regmap_update_bits(wm8903->regmap, WM8903_GPIO_CONTROL_1 + offset,
	return regmap_update_bits(wm8903->regmap,
				  WM8903_GPIO_CONTROL_1 + offset,
				  WM8903_GP1_LVL_MASK,
				  !!value << WM8903_GP1_LVL_SHIFT);
}
@@ -1841,7 +1843,7 @@ static const struct gpio_chip wm8903_template_chip = {
	.direction_input	= wm8903_gpio_direction_in,
	.get			= wm8903_gpio_get,
	.direction_output	= wm8903_gpio_direction_out,
	.set			= wm8903_gpio_set,
	.set_rv			= wm8903_gpio_set,
	.can_sleep		= 1,
};