mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-03-02 23:44:27 -05:00
ASoC: codecs: wm8962: 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-3-dd54b6ca1ef9@linaro.org Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
committed by
Mark Brown
parent
60631801ab
commit
403dddbdcb
@@ -3407,13 +3407,16 @@ static int wm8962_gpio_request(struct gpio_chip *chip, unsigned offset)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void wm8962_gpio_set(struct gpio_chip *chip, unsigned offset, int value)
|
||||
static int wm8962_gpio_set(struct gpio_chip *chip, unsigned int offset,
|
||||
int value)
|
||||
{
|
||||
struct wm8962_priv *wm8962 = gpiochip_get_data(chip);
|
||||
struct snd_soc_component *component = wm8962->component;
|
||||
|
||||
snd_soc_component_update_bits(component, WM8962_GPIO_BASE + offset,
|
||||
WM8962_GP2_LVL, !!value << WM8962_GP2_LVL_SHIFT);
|
||||
return snd_soc_component_update_bits(component,
|
||||
WM8962_GPIO_BASE + offset,
|
||||
WM8962_GP2_LVL,
|
||||
!!value << WM8962_GP2_LVL_SHIFT);
|
||||
}
|
||||
|
||||
static int wm8962_gpio_direction_out(struct gpio_chip *chip,
|
||||
@@ -3439,7 +3442,7 @@ static const struct gpio_chip wm8962_template_chip = {
|
||||
.owner = THIS_MODULE,
|
||||
.request = wm8962_gpio_request,
|
||||
.direction_output = wm8962_gpio_direction_out,
|
||||
.set = wm8962_gpio_set,
|
||||
.set_rv = wm8962_gpio_set,
|
||||
.can_sleep = 1,
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user