Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e616d2eb authored by Dylan Reid's avatar Dylan Reid Committed by Mark Brown
Browse files

ASoC: jack - add_gpiods accepts filled descriptors



Allow for the desc field to be pre-filled when adding gpios to a jack.
This allows drivers to get the gpios and decide if they should be added
to the list or not.  Specifically this will allow the gpio jack driver
to add gpios based on device property specifications.

Signed-off-by: default avatarDylan Reid <dgreid@chromium.org>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 1fb1e0ec
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -315,8 +315,11 @@ int snd_soc_jack_add_gpios(struct snd_soc_jack *jack, int count,
			goto undo;
		}

		if (gpios[i].gpiod_dev) {
			/* GPIO descriptor */
		if (gpios[i].desc) {
			/* Already have a GPIO descriptor. */
			goto got_gpio;
		} else if (gpios[i].gpiod_dev) {
			/* Get a GPIO descriptor */
			gpios[i].desc = gpiod_get_index(gpios[i].gpiod_dev,
							gpios[i].name,
							gpios[i].idx, GPIOD_IN);
@@ -344,7 +347,7 @@ int snd_soc_jack_add_gpios(struct snd_soc_jack *jack, int count,

			gpios[i].desc = gpio_to_desc(gpios[i].gpio);
		}

got_gpio:
		INIT_DELAYED_WORK(&gpios[i].work, gpio_work);
		gpios[i].jack = jack;