]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ASoC: soc-jack: Get rid of legacy GPIO support
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Tue, 26 Mar 2024 17:09:48 +0000 (19:09 +0200)
committerMark Brown <broonie@kernel.org>
Tue, 26 Mar 2024 17:13:45 +0000 (17:13 +0000)
No more users.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://msgid.link/r/20240326171134.1414462-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
include/sound/soc-jack.h
sound/soc/generic/simple-card-utils.c
sound/soc/soc-jack.c

index a0abb1ee5110750fd06ba0e35f0437e62a38a236..3a81d4b8ca8a220c81fe8f31f6730ffc314a6e78 100644 (file)
@@ -44,7 +44,6 @@ struct snd_soc_jack_zone {
 /**
  * struct snd_soc_jack_gpio - Describes a gpio pin for jack detection
  *
- * @gpio:         legacy gpio number
  * @idx:          gpio descriptor index within the function of the GPIO
  *                consumer device
  * @gpiod_dev:    GPIO consumer device
@@ -59,7 +58,6 @@ struct snd_soc_jack_zone {
  *                    ADC).
  */
 struct snd_soc_jack_gpio {
-       unsigned int gpio;
        unsigned int idx;
        struct device *gpiod_dev;
        const char *name;
index 81077d16d22f5a8df2fbf1f68ec39a878b6a61a8..b4876b4f259ddda34d31459992d83a930b960168 100644 (file)
@@ -752,8 +752,6 @@ int simple_util_init_jack(struct snd_soc_card *card,
        if (!prefix)
                prefix = "";
 
-       sjack->gpio.gpio = -ENOENT;
-
        if (is_hp) {
                snprintf(prop, sizeof(prop), "%shp-det", prefix);
                pin_name        = pin ? pin : "Headphones";
index b2cc13b9c77b78b08b5a1f63a4cb25441b4a5edf..63971396b708bcbdc155dd9df549df86279dabcc 100644 (file)
@@ -8,7 +8,6 @@
 
 #include <sound/jack.h>
 #include <sound/soc.h>
-#include <linux/gpio.h>
 #include <linux/gpio/consumer.h>
 #include <linux/interrupt.h>
 #include <linux/workqueue.h>
@@ -345,21 +344,9 @@ int snd_soc_jack_add_gpios(struct snd_soc_jack *jack, int count,
                                goto undo;
                        }
                } else {
-                       /* legacy GPIO number */
-                       if (!gpio_is_valid(gpios[i].gpio)) {
-                               dev_err(jack->card->dev,
-                                       "ASoC: Invalid gpio %d\n",
-                                       gpios[i].gpio);
-                               ret = -EINVAL;
-                               goto undo;
-                       }
-
-                       ret = gpio_request_one(gpios[i].gpio, GPIOF_IN,
-                                              gpios[i].name);
-                       if (ret)
-                               goto undo;
-
-                       gpios[i].desc = gpio_to_desc(gpios[i].gpio);
+                       dev_err(jack->card->dev, "ASoC: Invalid gpio at index %d\n", i);
+                       ret = -EINVAL;
+                       goto undo;
                }
 got_gpio:
                INIT_DELAYED_WORK(&gpios[i].work, gpio_work);
@@ -373,7 +360,7 @@ got_gpio:
                                              gpios[i].name,
                                              &gpios[i]);
                if (ret < 0)
-                       goto err;
+                       goto undo;
 
                if (gpios[i].wake) {
                        ret = irq_set_irq_wake(gpiod_to_irq(gpios[i].desc), 1);
@@ -401,8 +388,6 @@ got_gpio:
        devres_add(jack->card->dev, tbl);
        return 0;
 
-err:
-       gpio_free(gpios[i].gpio);
 undo:
        jack_free_gpios(jack, i, gpios);
        devres_free(tbl);