ASoC: Intel: sof_es8336: ignore GpioInt when looking for speaker/headset GPIO lines
authorAndrey Turkin <andrey.turkin@gmail.com>
Mon, 25 Jul 2022 19:49:03 +0000 (14:49 -0500)
committerMark Brown <broonie@kernel.org>
Mon, 25 Jul 2022 21:37:06 +0000 (22:37 +0100)
This fixes speaker GPIO detection on machines those ACPI tables
list their jack detection GpioInt before output GpioIo.
GpioInt entry can never be the speaker/headphone amplifier control
so it makes sense to only look for GpioIo entries when looking for them.

Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Andrey Turkin <andrey.turkin@gmail.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20220725194909.145418-5-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/boards/sof_es8336.c

index 4d0c361..d70d825 100644 (file)
@@ -57,23 +57,23 @@ static const struct acpi_gpio_params enable_gpio0 = { 0, 0, true };
 static const struct acpi_gpio_params enable_gpio1 = { 1, 0, true };
 
 static const struct acpi_gpio_mapping acpi_speakers_enable_gpio0[] = {
-       { "speakers-enable-gpios", &enable_gpio0, 1 },
+       { "speakers-enable-gpios", &enable_gpio0, 1, ACPI_GPIO_QUIRK_ONLY_GPIOIO },
        { }
 };
 
 static const struct acpi_gpio_mapping acpi_speakers_enable_gpio1[] = {
-       { "speakers-enable-gpios", &enable_gpio1, 1 },
+       { "speakers-enable-gpios", &enable_gpio1, 1, ACPI_GPIO_QUIRK_ONLY_GPIOIO },
 };
 
 static const struct acpi_gpio_mapping acpi_enable_both_gpios[] = {
-       { "speakers-enable-gpios", &enable_gpio0, 1 },
-       { "headphone-enable-gpios", &enable_gpio1, 1 },
+       { "speakers-enable-gpios", &enable_gpio0, 1, ACPI_GPIO_QUIRK_ONLY_GPIOIO },
+       { "headphone-enable-gpios", &enable_gpio1, 1, ACPI_GPIO_QUIRK_ONLY_GPIOIO },
        { }
 };
 
 static const struct acpi_gpio_mapping acpi_enable_both_gpios_rev_order[] = {
-       { "speakers-enable-gpios", &enable_gpio1, 1 },
-       { "headphone-enable-gpios", &enable_gpio0, 1 },
+       { "speakers-enable-gpios", &enable_gpio1, 1, ACPI_GPIO_QUIRK_ONLY_GPIOIO },
+       { "headphone-enable-gpios", &enable_gpio0, 1, ACPI_GPIO_QUIRK_ONLY_GPIOIO },
        { }
 };