Message ID | 20191018154201.1276638-23-arnd@arndb.de |
---|---|
State | New |
Headers | show |
Series | [01/46] ARM: pxa: split mach/generic.h | expand |
On Fri, Oct 18, 2019 at 05:41:38PM +0200, Arnd Bergmann wrote: > The audio device is allocated by the audio driver, and it uses a gpio > number from the mach/z2.h header file. Acked-by: Mark Brown <broonie@kernel.org>
Arnd Bergmann <arnd@arndb.de> writes: > The audio device is allocated by the audio driver, and it uses a gpio > number from the mach/z2.h header file. > > Change it to use a gpio lookup table for the device allocated by the > driver to keep the header file local to the machine. > > Cc: Mark Brown <broonie@kernel.org> > Cc: alsa-devel@alsa-project.org > Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Robert Jarzmik <robert.jarzmik@free.fr> Cheers. -- Robert
On Fri, Oct 18, 2019 at 5:43 PM Arnd Bergmann <arnd@arndb.de> wrote: > The audio device is allocated by the audio driver, and it uses a gpio > number from the mach/z2.h header file. > > Change it to use a gpio lookup table for the device allocated by the > driver to keep the header file local to the machine. > > Cc: Mark Brown <broonie@kernel.org> > Cc: alsa-devel@alsa-project.org > Signed-off-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Yours, Linus Walleij
diff --git a/arch/arm/mach-pxa/z2.c b/arch/arm/mach-pxa/z2.c index 900cefc4c5ea..874bdd49ad43 100644 --- a/arch/arm/mach-pxa/z2.c +++ b/arch/arm/mach-pxa/z2.c @@ -623,6 +623,15 @@ static void __init z2_spi_init(void) static inline void z2_spi_init(void) {} #endif +static struct gpiod_lookup_table z2_audio_gpio_table = { + .dev_id = "soc-audio", + .table = { + GPIO_LOOKUP("gpio-pxa", GPIO37_ZIPITZ2_HEADSET_DETECT, + "hsdet-gpio", GPIO_ACTIVE_HIGH), + { }, + }, +}; + /****************************************************************************** * Core power regulator ******************************************************************************/ @@ -727,6 +736,8 @@ static void __init z2_init(void) z2_keys_init(); z2_pmic_init(); + gpiod_add_lookup_table(&z2_audio_gpio_table); + pm_power_off = z2_power_off; } diff --git a/sound/soc/pxa/z2.c b/sound/soc/pxa/z2.c index 1fb3e7ac42fa..5147ed60fcd0 100644 --- a/sound/soc/pxa/z2.c +++ b/sound/soc/pxa/z2.c @@ -13,7 +13,7 @@ #include <linux/timer.h> #include <linux/interrupt.h> #include <linux/platform_device.h> -#include <linux/gpio.h> +#include <linux/gpio/consumer.h> #include <sound/core.h> #include <sound/pcm.h> @@ -22,7 +22,6 @@ #include <asm/mach-types.h> #include <linux/platform_data/asoc-pxa.h> -#include <mach/z2.h> #include "../codecs/wm8750.h" #include "pxa2xx-i2s.h" @@ -89,7 +88,6 @@ static struct snd_soc_jack_pin hs_jack_pins[] = { /* Headset jack detection gpios */ static struct snd_soc_jack_gpio hs_jack_gpios[] = { { - .gpio = GPIO37_ZIPITZ2_HEADSET_DETECT, .name = "hsdet-gpio", .report = SND_JACK_HEADSET, .debounce_time = 200, @@ -195,6 +193,7 @@ static int __init z2_init(void) if (!z2_snd_device) return -ENOMEM; + hs_jack_gpios[0].gpiod_dev = &z2_snd_device->dev; platform_set_drvdata(z2_snd_device, &snd_soc_z2); ret = platform_device_add(z2_snd_device);
The audio device is allocated by the audio driver, and it uses a gpio number from the mach/z2.h header file. Change it to use a gpio lookup table for the device allocated by the driver to keep the header file local to the machine. Cc: Mark Brown <broonie@kernel.org> Cc: alsa-devel@alsa-project.org Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- arch/arm/mach-pxa/z2.c | 11 +++++++++++ sound/soc/pxa/z2.c | 5 ++--- 2 files changed, 13 insertions(+), 3 deletions(-) -- 2.20.0