Re: [PATCH 1/1 linux-next] ASoC: samsung: include gpio consumer.h

From: Krzysztof Kozlowski
Date: Thu Dec 08 2016 - 12:40:08 EST


On Wed, Dec 07, 2016 at 09:31:02PM +0100, Fabian Frederick wrote:
>
>
> > On 07 December 2016 at 18:55 Krzysztof Kozlowski <krzk@xxxxxxxxxx> wrote:
> >
> >
> > On Wed, Dec 07, 2016 at 08:39:02AM +0100, Fabian Frederick wrote:
> > > Fix the following build errors
> >
> > I couldn't reproduce it on default config. Can you mention the necessary
> > environment/defconfig/arch etc.?
> >
> > Patch itself looks needed. However shouldn't the driver depend also on
> > GPIOLIB?
> >
> > Best regards,
> > Krzysztof
>
> Hi Krzysztof,
>
> Â Â Â Â It's based on a randconfig with compile_test without gpiolib.
> I reproduced it with make defconfig followed by selecting
> x86_32

So could you mention it? Something like:
"...build errors on x86_32 with !GPIOLIB."
would be sufficient IMHO.

> SPI
> SND_SOC_SAMSUNG
> MFD_ARIZONA_I2C
> MFD_ARIZONA
> SND_SOC
> COMPILE_TEST
> X86_INTEL_QUARK
> COMMON_CLK
> SND_SOC_SAMSUNG
> SND_SOC_SAMSUNG_TM2_WM5110
>
> Here's another patch solving the same problem with complete explanation:
>
> Commit 638f958baeaf
> ("extcon: Allow compile test of GPIO consumers if !GPIOLIB")
>
> as you're suggesting, we could add depend on GPIOLIB.
> extcon has the following: depends on GPIOLIB || COMPILE_TEST
>
> smartq_wm8987.c also has gpio_consumer.h for SND_SOC_SMARTQ
> which would give the following update on samsung/Kconfig besides initial patch:

Makes sense. The GPIOLIB is indeed runtime dependency for the driver.

Feel free to send a follow up patch for GPIOLIB (reported-by credits
would be appreciated ;) ).

Best regards,
Krzysztof

>
> diff --git a/sound/soc/samsung/Kconfig b/sound/soc/samsung/Kconfig
> index 7c42315..f1f1d79 100644
> --- a/sound/soc/samsung/Kconfig
> +++ b/sound/soc/samsung/Kconfig
> @@ -111,6 +111,7 @@ config SND_SOC_SAMSUNG_RX1950_UDA1380
> Âconfig SND_SOC_SMARTQ
> Â Â Â Â tristate "SoC I2S Audio support for SmartQ board"
> Â Â Â Â depends on MACH_SMARTQ || COMPILE_TEST
> +Â Â Â Âdepends on GPIOLIB || COMPILE_TEST
> Â Â Â Â depends on I2C
> Â Â Â Â select SND_SAMSUNG_I2S
> Â Â Â Â select SND_SOC_WM8750
> @@ -193,6 +194,7 @@ config SND_SOC_ARNDALE_RT5631_ALC5631
> Âconfig SND_SOC_SAMSUNG_TM2_WM5110
> Â Â Â Â tristate "SoC I2S Audio support for WM5110 on TM2 board"
> Â Â Â Â depends on SND_SOC_SAMSUNG && MFD_ARIZONA && I2C && SPI_MASTER
> +Â Â Â Âdepends on GPIOLIB || COMPILE_TEST
> Â Â Â Â select SND_SOC_MAX98504
> Â Â Â Â select SND_SOC_WM5110
> Â Â Â Â select SND_SAMSUNG_I2S
>
>
> Regards,
> Fabian
> >
> > > sound/soc/samsung/tm2_wm5110.c:220:3: error: implicit declaration
> > > of function 'gpiod_set_value_cansleep'
> > > [-Werror=implicit-function-declaration]
> > > sound/soc/samsung/tm2_wm5110.c:438:24: error: implicit declaration
> > > of function 'devm_gpiod_get' [-Werror=implicit-function-declaration]
> > >
> > > Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
> > > ---
> > >Â sound/soc/samsung/tm2_wm5110.c | 1 +
> > >Â 1 file changed, 1 insertion(+)
> > >
> > > diff --git a/sound/soc/samsung/tm2_wm5110.c b/sound/soc/samsung/tm2_wm5110.c
> > > index 5cdf7d1..24cc9d6 100644
> > > --- a/sound/soc/samsung/tm2_wm5110.c
> > > +++ b/sound/soc/samsung/tm2_wm5110.c
> > > @@ -12,6 +12,7 @@
> > >Â
> > >Â #include <linux/clk.h>
> > >Â #include <linux/gpio.h>
> > > +#include <linux/gpio/consumer.h>
> > >Â #include <linux/module.h>
> > >Â #include <linux/of.h>
> > >Â #include <sound/pcm_params.h>
> > > --
> > > 2.7.4
> > >