[alsa-devel] ASoC fixes for v3.13

Takashi Iwai tiwai at suse.de
Thu Nov 21 15:55:06 CET 2013


At Thu, 21 Nov 2013 14:49:31 +0000,
Mark Brown wrote:
> 
> On Thu, Nov 21, 2013 at 03:41:04PM +0100, Takashi Iwai wrote:
> 
> > +#else
> > +static inline int snd_soc_jack_add_gpios(struct snd_soc_jack *jack, int count,
> > +					 struct snd_soc_jack_gpio *gpios)
> > +{
> > +	return 0;
> > +}
> > +static inline void snd_soc_jack_free_gpios(struct snd_soc_jack *jack, int count,
> > +					   struct snd_soc_jack_gpio *gpios)
> > +{
> > +}
> >  #endif
> 
> This stubbing seems fine (with a blank between those two).  Can you send
> a patch please?

OK, here it is.


Takashi

===
From: Takashi Iwai <tiwai at suse.de>
Subject: [PATCH] ASoC: Fix build without CONFIG_GPIOLIB

snd_soc_jack_gpio stuff is currently enabled for CONFIG_GPIOLIB
explicitly with ifdef, and this causes build errors on some drivers
such as:
  sound/soc/omap/rx51.c:220:33: error: array type has incomplete element type

Remove ifdef and provide dummy functions for CONFIG_GPIOLIB=n case
instead.

Signed-off-by: Takashi Iwai <tiwai at suse.de>
---
 include/sound/soc.h | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/include/sound/soc.h b/include/sound/soc.h
index 1f741cb24f33..f7e1fac51bba 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -334,9 +334,7 @@ struct snd_soc_jack_pin;
 #include <sound/soc-dapm.h>
 #include <sound/soc-dpcm.h>
 
-#ifdef CONFIG_GPIOLIB
 struct snd_soc_jack_gpio;
-#endif
 
 typedef int (*hw_write_t)(void *,const char* ,int);
 
@@ -446,6 +444,17 @@ int snd_soc_jack_add_gpios(struct snd_soc_jack *jack, int count,
 			struct snd_soc_jack_gpio *gpios);
 void snd_soc_jack_free_gpios(struct snd_soc_jack *jack, int count,
 			struct snd_soc_jack_gpio *gpios);
+#else
+static inline int snd_soc_jack_add_gpios(struct snd_soc_jack *jack, int count,
+					 struct snd_soc_jack_gpio *gpios)
+{
+	return 0;
+}
+
+static inline void snd_soc_jack_free_gpios(struct snd_soc_jack *jack, int count,
+					   struct snd_soc_jack_gpio *gpios)
+{
+}
 #endif
 
 /* codec register bit access */
@@ -580,7 +589,6 @@ struct snd_soc_jack_zone {
  *		       to provide more complex checks (eg, reading an
  *		       ADC).
  */
-#ifdef CONFIG_GPIOLIB
 struct snd_soc_jack_gpio {
 	unsigned int gpio;
 	const char *name;
@@ -594,7 +602,6 @@ struct snd_soc_jack_gpio {
 
 	int (*jack_status_check)(void);
 };
-#endif
 
 struct snd_soc_jack {
 	struct mutex mutex;
-- 
1.8.4.3




More information about the Alsa-devel mailing list