diff options
author | Mark Brown <broonie@kernel.org> | 2023-10-02 17:17:47 +0200 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2023-10-02 17:17:47 +0200 |
commit | a9b696c851c226b8fa89faeb56e581a8f077924b (patch) | |
tree | 94c4145dd2477545598db562d8a5dbc0a9529eba /sound/soc/ti/n810.c | |
parent | ASoC: tas2781: fixed compiling issue in m68k (diff) | |
parent | ASoC: ti: osk5912: Drop unused include (diff) | |
download | linux-a9b696c851c226b8fa89faeb56e581a8f077924b.tar.xz linux-a9b696c851c226b8fa89faeb56e581a8f077924b.zip |
GPIO descriptors for TI ASoC codecs
Merge series from Linus Walleij <linus.walleij@linaro.org>:
This cleans up and rewrites the GPIO usage in the TI
ASoC components to use GPIO descriptors exclusively.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
Linus Walleij (5):
ASoC: ti: Convert N810 ASoC to GPIO descriptors
ASoC: ti: Convert RX51 to use exclusively GPIO descriptors
ASoC: ti: Convert TWL4030 to use GPIO descriptors
ASoC: ti: Convert Pandora ASoC to GPIO descriptors
ASoC: ti: osk5912: Drop unused include
arch/arm/mach-omap2/board-n8x0.c | 10 +++++
arch/arm/mach-omap2/pdata-quirks.c | 10 +++++
include/linux/platform_data/omap-twl4030.h | 3 --
sound/soc/ti/n810.c | 31 ++++++++-------
sound/soc/ti/omap-twl4030.c | 20 ++++------
sound/soc/ti/omap3pandora.c | 63 +++++++++++-------------------
sound/soc/ti/osk5912.c | 1 -
sound/soc/ti/rx51.c | 19 ++-------
8 files changed, 72 insertions(+), 85 deletions(-)
---
base-commit: 0bb80ecc33a8fb5a682236443c1e740d5c917d1d
change-id: 20230922-descriptors-asoc-ti-a852eff479ed
Best regards,
--
Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'sound/soc/ti/n810.c')
-rw-r--r-- | sound/soc/ti/n810.c | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/sound/soc/ti/n810.c b/sound/soc/ti/n810.c index 6c72c2a50dec..50a8ec97cf20 100644 --- a/sound/soc/ti/n810.c +++ b/sound/soc/ti/n810.c @@ -15,14 +15,14 @@ #include <sound/soc.h> #include <asm/mach-types.h> -#include <linux/gpio.h> +#include <linux/gpio/consumer.h> #include <linux/module.h> #include <linux/platform_data/asoc-ti-mcbsp.h> #include "omap-mcbsp.h" -#define N810_HEADSET_AMP_GPIO 10 -#define N810_SPEAKER_AMP_GPIO 101 +static struct gpio_desc *n810_headset_amp; +static struct gpio_desc *n810_speaker_amp; enum { N810_JACK_DISABLED, @@ -187,9 +187,9 @@ static int n810_spk_event(struct snd_soc_dapm_widget *w, struct snd_kcontrol *k, int event) { if (SND_SOC_DAPM_EVENT_ON(event)) - gpio_set_value(N810_SPEAKER_AMP_GPIO, 1); + gpiod_set_value(n810_speaker_amp, 1); else - gpio_set_value(N810_SPEAKER_AMP_GPIO, 0); + gpiod_set_value(n810_speaker_amp, 0); return 0; } @@ -198,9 +198,9 @@ static int n810_jack_event(struct snd_soc_dapm_widget *w, struct snd_kcontrol *k, int event) { if (SND_SOC_DAPM_EVENT_ON(event)) - gpio_set_value(N810_HEADSET_AMP_GPIO, 1); + gpiod_set_value(n810_headset_amp, 1); else - gpio_set_value(N810_HEADSET_AMP_GPIO, 0); + gpiod_set_value(n810_headset_amp, 0); return 0; } @@ -327,14 +327,19 @@ static int __init n810_soc_init(void) clk_set_parent(sys_clkout2_src, func96m_clk); clk_set_rate(sys_clkout2, 12000000); - if (WARN_ON((gpio_request(N810_HEADSET_AMP_GPIO, "hs_amp") < 0) || - (gpio_request(N810_SPEAKER_AMP_GPIO, "spk_amp") < 0))) { - err = -EINVAL; + n810_headset_amp = devm_gpiod_get(&n810_snd_device->dev, + "headphone", GPIOD_OUT_LOW); + if (IS_ERR(n810_headset_amp)) { + err = PTR_ERR(n810_headset_amp); goto err4; } - gpio_direction_output(N810_HEADSET_AMP_GPIO, 0); - gpio_direction_output(N810_SPEAKER_AMP_GPIO, 0); + n810_speaker_amp = devm_gpiod_get(&n810_snd_device->dev, + "speaker", GPIOD_OUT_LOW); + if (IS_ERR(n810_speaker_amp)) { + err = PTR_ERR(n810_speaker_amp); + goto err4; + } return 0; err4: @@ -351,8 +356,6 @@ err1: static void __exit n810_soc_exit(void) { - gpio_free(N810_SPEAKER_AMP_GPIO); - gpio_free(N810_HEADSET_AMP_GPIO); clk_put(sys_clkout2_src); clk_put(sys_clkout2); clk_put(func96m_clk); |