ASoC: Add WM8988 CODEC driver
[sfrench/cifs-2.6.git] / sound / soc / codecs / Kconfig
index c41289b5f58671276d73b51b47b3448901136f0f..ab364854675bc685182d182b8e3c5403636b7847 100644 (file)
@@ -1,8 +1,20 @@
+# Helper to resolve issues with configs that have SPI enabled but I2C
+# modular, meaning we can't build the codec driver in with I2C support.
+# We use an ordered list of conditional defaults to pick the appropriate
+# setting - SPI can't be modular so that case doesn't need to be covered.
+config SND_SOC_I2C_AND_SPI
+       tristate
+       default m if I2C=m
+       default y if I2C=y
+       default y if SPI_MASTER=y
+
 config SND_SOC_ALL_CODECS
        tristate "Build all ASoC CODEC drivers"
+       select SND_SOC_L3
        select SND_SOC_AC97_CODEC if SND_SOC_AC97_BUS
        select SND_SOC_AD1980 if SND_SOC_AC97_BUS
        select SND_SOC_AD73311 if I2C
+       select SND_SOC_AK4104 if SPI_MASTER
        select SND_SOC_AK4535 if I2C
        select SND_SOC_CS4270 if I2C
        select SND_SOC_PCM3008
@@ -14,16 +26,19 @@ config SND_SOC_ALL_CODECS
        select SND_SOC_UDA134X
        select SND_SOC_UDA1380 if I2C
        select SND_SOC_WM8350 if MFD_WM8350
-       select SND_SOC_WM8510 if (I2C || SPI_MASTER)
+       select SND_SOC_WM8400 if MFD_WM8400
+       select SND_SOC_WM8510 if SND_SOC_I2C_AND_SPI
        select SND_SOC_WM8580 if I2C
-       select SND_SOC_WM8728 if (I2C || SPI_MASTER)
-       select SND_SOC_WM8731 if (I2C || SPI_MASTER)
-       select SND_SOC_WM8750 if (I2C || SPI_MASTER)
-       select SND_SOC_WM8753 if (I2C || SPI_MASTER)
+       select SND_SOC_WM8728 if SND_SOC_I2C_AND_SPI
+       select SND_SOC_WM8731 if SND_SOC_I2C_AND_SPI
+       select SND_SOC_WM8750 if SND_SOC_I2C_AND_SPI
+       select SND_SOC_WM8753 if SND_SOC_I2C_AND_SPI
        select SND_SOC_WM8900 if I2C
        select SND_SOC_WM8903 if I2C
        select SND_SOC_WM8971 if I2C
+       select SND_SOC_WM8988 if SND_SOC_I2C_AND_SPI
        select SND_SOC_WM8990 if I2C
+       select SND_SOC_WM9705 if SND_SOC_AC97_BUS
        select SND_SOC_WM9712 if SND_SOC_AC97_BUS
        select SND_SOC_WM9713 if SND_SOC_AC97_BUS
         help
@@ -48,6 +63,9 @@ config SND_SOC_AD1980
 config SND_SOC_AD73311
        tristate
 
+config SND_SOC_AK4104
+       tristate
+
 config SND_SOC_AK4535
        tristate
 
@@ -55,12 +73,6 @@ config SND_SOC_AK4535
 config SND_SOC_CS4270
        tristate
 
-# Cirrus Logic CS4270 Codec Hardware Mute Support
-# Select if you have external muting circuitry attached to your CS4270.
-config SND_SOC_CS4270_HWMUTE
-       bool
-       depends on SND_SOC_CS4270
-
 # Cirrus Logic CS4270 Codec VD = 3.3V Errata
 # Select if you are affected by the errata where the part will not function
 # if MCLK divide-by-1.5 is selected and VD is set to 3.3V.  The driver will
@@ -80,7 +92,6 @@ config SND_SOC_SSM2602
 
 config SND_SOC_TLV320AIC23
        tristate
-       depends on I2C
 
 config SND_SOC_TLV320AIC26
        tristate "TI TLV320AIC26 Codec support" if SND_SOC_OF_SIMPLE
@@ -88,15 +99,12 @@ config SND_SOC_TLV320AIC26
 
 config SND_SOC_TLV320AIC3X
        tristate
-       depends on I2C
 
 config SND_SOC_TWL4030
        tristate
-       depends on TWL4030_CORE
 
 config SND_SOC_UDA134X
        tristate
-       select SND_SOC_L3
 
 config SND_SOC_UDA1380
         tristate
@@ -104,6 +112,9 @@ config SND_SOC_UDA1380
 config SND_SOC_WM8350
        tristate
 
+config SND_SOC_WM8400
+       tristate
+
 config SND_SOC_WM8510
        tristate
 
@@ -131,9 +142,15 @@ config SND_SOC_WM8903
 config SND_SOC_WM8971
        tristate
 
+config SND_SOC_WM8988
+       tristate
+
 config SND_SOC_WM8990
        tristate
 
+config SND_SOC_WM9705
+       tristate
+
 config SND_SOC_WM9712
        tristate