From: Greg Kroah-Hartman Date: Mon, 29 Apr 2024 10:25:15 +0000 (+0200) Subject: 6.1-stable patches X-Git-Tag: v6.1.89~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f7eda6103f4aa8de11768426ce492bfa5bdf9883;p=thirdparty%2Fkernel%2Fstable-queue.git 6.1-stable patches added patches: revert-asoc-ti-convert-pandora-asoc-to-gpio-descriptors.patch --- diff --git a/queue-6.1/revert-asoc-ti-convert-pandora-asoc-to-gpio-descriptors.patch b/queue-6.1/revert-asoc-ti-convert-pandora-asoc-to-gpio-descriptors.patch new file mode 100644 index 00000000000..c10599b5e46 --- /dev/null +++ b/queue-6.1/revert-asoc-ti-convert-pandora-asoc-to-gpio-descriptors.patch @@ -0,0 +1,173 @@ +From 8e977ba87ff38f177906272496e6d10dbc9cc0c5 Mon Sep 17 00:00:00 2001 +From: Greg Kroah-Hartman +Date: Mon, 29 Apr 2024 12:21:58 +0200 +Subject: Revert "ASoC: ti: Convert Pandora ASoC to GPIO descriptors" + +From: Greg Kroah-Hartman + +This reverts commit 0f4048e1a0c6e9d3d31ce5b684600fd137cebfca which is +commit 319e6ac143b9e9048e527ab9dd2aabb8fdf3d60f upstream. + +It breaks the 6.1.y build, so needs to be reverted. + +Cc: Linus Walleij +Cc: Jarkko Nikula +Cc: Mark Brown +Cc: Sasha Levin +Signed-off-by: Greg Kroah-Hartman +--- + arch/arm/mach-omap2/pdata-quirks.c | 10 ----- + sound/soc/ti/omap3pandora.c | 63 +++++++++++++++++++++++-------------- + 2 files changed, 40 insertions(+), 33 deletions(-) + +--- a/arch/arm/mach-omap2/pdata-quirks.c ++++ b/arch/arm/mach-omap2/pdata-quirks.c +@@ -257,19 +257,9 @@ static struct platform_device pandora_ba + .id = -1, + }; + +-static struct gpiod_lookup_table pandora_soc_audio_gpios = { +- .dev_id = "soc-audio", +- .table = { +- GPIO_LOOKUP("gpio-112-127", 6, "dac", GPIO_ACTIVE_HIGH), +- GPIO_LOOKUP("gpio-0-15", 14, "amp", GPIO_ACTIVE_HIGH), +- { } +- }, +-}; +- + static void __init omap3_pandora_legacy_init(void) + { + platform_device_register(&pandora_backlight); +- gpiod_add_lookup_table(&pandora_soc_audio_gpios); + } + #endif /* CONFIG_ARCH_OMAP3 */ + +--- a/sound/soc/ti/omap3pandora.c ++++ b/sound/soc/ti/omap3pandora.c +@@ -7,7 +7,7 @@ + + #include + #include +-#include ++#include + #include + #include + #include +@@ -21,11 +21,12 @@ + + #include "omap-mcbsp.h" + ++#define OMAP3_PANDORA_DAC_POWER_GPIO 118 ++#define OMAP3_PANDORA_AMP_POWER_GPIO 14 ++ + #define PREFIX "ASoC omap3pandora: " + + static struct regulator *omap3pandora_dac_reg; +-static struct gpio_desc *dac_power_gpio; +-static struct gpio_desc *amp_power_gpio; + + static int omap3pandora_hw_params(struct snd_pcm_substream *substream, + struct snd_pcm_hw_params *params) +@@ -77,9 +78,9 @@ static int omap3pandora_dac_event(struct + return ret; + } + mdelay(1); +- gpiod_set_value(dac_power_gpio, 1); ++ gpio_set_value(OMAP3_PANDORA_DAC_POWER_GPIO, 1); + } else { +- gpiod_set_value(dac_power_gpio, 0); ++ gpio_set_value(OMAP3_PANDORA_DAC_POWER_GPIO, 0); + mdelay(1); + regulator_disable(omap3pandora_dac_reg); + } +@@ -91,9 +92,9 @@ static int omap3pandora_hp_event(struct + struct snd_kcontrol *k, int event) + { + if (SND_SOC_DAPM_EVENT_ON(event)) +- gpiod_set_value(amp_power_gpio, 1); ++ gpio_set_value(OMAP3_PANDORA_AMP_POWER_GPIO, 1); + else +- gpiod_set_value(amp_power_gpio, 0); ++ gpio_set_value(OMAP3_PANDORA_AMP_POWER_GPIO, 0); + + return 0; + } +@@ -228,10 +229,35 @@ static int __init omap3pandora_soc_init( + + pr_info("OMAP3 Pandora SoC init\n"); + ++ ret = gpio_request(OMAP3_PANDORA_DAC_POWER_GPIO, "dac_power"); ++ if (ret) { ++ pr_err(PREFIX "Failed to get DAC power GPIO\n"); ++ return ret; ++ } ++ ++ ret = gpio_direction_output(OMAP3_PANDORA_DAC_POWER_GPIO, 0); ++ if (ret) { ++ pr_err(PREFIX "Failed to set DAC power GPIO direction\n"); ++ goto fail0; ++ } ++ ++ ret = gpio_request(OMAP3_PANDORA_AMP_POWER_GPIO, "amp_power"); ++ if (ret) { ++ pr_err(PREFIX "Failed to get amp power GPIO\n"); ++ goto fail0; ++ } ++ ++ ret = gpio_direction_output(OMAP3_PANDORA_AMP_POWER_GPIO, 0); ++ if (ret) { ++ pr_err(PREFIX "Failed to set amp power GPIO direction\n"); ++ goto fail1; ++ } ++ + omap3pandora_snd_device = platform_device_alloc("soc-audio", -1); + if (omap3pandora_snd_device == NULL) { + pr_err(PREFIX "Platform device allocation failed\n"); +- return -ENOMEM; ++ ret = -ENOMEM; ++ goto fail1; + } + + platform_set_drvdata(omap3pandora_snd_device, &snd_soc_card_omap3pandora); +@@ -242,20 +268,6 @@ static int __init omap3pandora_soc_init( + goto fail2; + } + +- dac_power_gpio = devm_gpiod_get(&omap3pandora_snd_device->dev, +- "dac", GPIOD_OUT_LOW); +- if (IS_ERR(dac_power_gpio)) { +- ret = PTR_ERR(dac_power_gpio); +- goto fail3; +- } +- +- amp_power_gpio = devm_gpiod_get(&omap3pandora_snd_device->dev, +- "amp", GPIOD_OUT_LOW); +- if (IS_ERR(amp_power_gpio)) { +- ret = PTR_ERR(amp_power_gpio); +- goto fail3; +- } +- + omap3pandora_dac_reg = regulator_get(&omap3pandora_snd_device->dev, "vcc"); + if (IS_ERR(omap3pandora_dac_reg)) { + pr_err(PREFIX "Failed to get DAC regulator from %s: %ld\n", +@@ -271,7 +283,10 @@ fail3: + platform_device_del(omap3pandora_snd_device); + fail2: + platform_device_put(omap3pandora_snd_device); +- ++fail1: ++ gpio_free(OMAP3_PANDORA_AMP_POWER_GPIO); ++fail0: ++ gpio_free(OMAP3_PANDORA_DAC_POWER_GPIO); + return ret; + } + module_init(omap3pandora_soc_init); +@@ -280,6 +295,8 @@ static void __exit omap3pandora_soc_exit + { + regulator_put(omap3pandora_dac_reg); + platform_device_unregister(omap3pandora_snd_device); ++ gpio_free(OMAP3_PANDORA_AMP_POWER_GPIO); ++ gpio_free(OMAP3_PANDORA_DAC_POWER_GPIO); + } + module_exit(omap3pandora_soc_exit); + diff --git a/queue-6.1/series b/queue-6.1/series new file mode 100644 index 00000000000..ecdcbd54fa7 --- /dev/null +++ b/queue-6.1/series @@ -0,0 +1 @@ +revert-asoc-ti-convert-pandora-asoc-to-gpio-descriptors.patch