mirror of
https://github.com/torvalds/linux.git
synced 2026-05-22 22:22:08 +02:00
ASoC: codecs: wm8996: 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: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> Link: https://patch.msgid.link/20250408-gpiochip-set-rv-sound-v1-6-dd54b6ca1ef9@linaro.org Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
317349ce80
commit
a8d4913690
|
|
@ -2136,12 +2136,14 @@ static int wm8996_set_fll(struct snd_soc_component *component, int fll_id, int s
|
|||
}
|
||||
|
||||
#ifdef CONFIG_GPIOLIB
|
||||
static void wm8996_gpio_set(struct gpio_chip *chip, unsigned offset, int value)
|
||||
static int wm8996_gpio_set(struct gpio_chip *chip, unsigned int offset,
|
||||
int value)
|
||||
{
|
||||
struct wm8996_priv *wm8996 = gpiochip_get_data(chip);
|
||||
|
||||
regmap_update_bits(wm8996->regmap, WM8996_GPIO_1 + offset,
|
||||
WM8996_GP1_LVL, !!value << WM8996_GP1_LVL_SHIFT);
|
||||
return regmap_update_bits(wm8996->regmap, WM8996_GPIO_1 + offset,
|
||||
WM8996_GP1_LVL,
|
||||
!!value << WM8996_GP1_LVL_SHIFT);
|
||||
}
|
||||
|
||||
static int wm8996_gpio_direction_out(struct gpio_chip *chip,
|
||||
|
|
@ -2184,7 +2186,7 @@ static const struct gpio_chip wm8996_template_chip = {
|
|||
.label = "wm8996",
|
||||
.owner = THIS_MODULE,
|
||||
.direction_output = wm8996_gpio_direction_out,
|
||||
.set = wm8996_gpio_set,
|
||||
.set_rv = wm8996_gpio_set,
|
||||
.direction_input = wm8996_gpio_direction_in,
|
||||
.get = wm8996_gpio_get,
|
||||
.can_sleep = 1,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user