From: Xiong Zhou <[email protected]>
This patch fixes build failure of next-20130325 (and also next-20130322),
about sound soc codec modules.
I try to fix this by moving arrays to the header last time.
Failing message:
ERROR: "arizona_rate_text" [sound/soc/codecs/snd-soc-wm-adsp.ko] undefined!
ERROR: "arizona_rate_val" [sound/soc/codecs/snd-soc-wm-adsp.ko] undefined!
WARNING: modpost: Found 5 section mismatch(es).
These arrays, "arizona_rate_text" and "arizona_rate_val" are defined in
arizona.c, while having a declaration in arizona.h which is included by
wm_adsp.c.
When config MFD_ARIZONA_I2C is not choosed, neither is SND_SOC_ARIZONA.
But, if I2C is choosed at the same time, SND_SOC_WM_ADSP is selected.
So this is the problem. SND_SOC_WM_ADSP depends on SND_SOC_ARIZONA.
After make SND_SOC_WM_ADSP depends on SND_SOC_ARIZONA:
ERROR: "wm_adsp1_init" [sound/soc/codecs/snd-soc-wm2200.ko] undefined!
ERROR: "wm_adsp1_event" [sound/soc/codecs/snd-soc-wm2200.ko] undefined!
ERROR: "wm_adsp_fw_controls" [sound/soc/codecs/snd-soc-wm2200.ko] undefined!
This is the same like above. So make SND_SOC_WM2200 depends on SND_SOC_ARIZONA
too, and I2C.
Signed-off-by: Xiong Zhou <[email protected]>
---
sound/soc/codecs/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
index 18fea10..f38af70 100644
--- a/sound/soc/codecs/Kconfig
+++ b/sound/soc/codecs/Kconfig
@@ -79,7 +79,6 @@ config SND_SOC_ALL_CODECS
select SND_SOC_WM0010 if SPI_MASTER
select SND_SOC_WM1250_EV1 if I2C
select SND_SOC_WM2000 if I2C
- select SND_SOC_WM2200 if I2C
select SND_SOC_WM5100 if I2C
select SND_SOC_WM5102 if MFD_WM5102
select SND_SOC_WM5110 if MFD_WM5110
@@ -370,6 +369,7 @@ config SND_SOC_WM2000
tristate
config SND_SOC_WM2200
+ depends on SND_SOC_ARIZONA && I2C
tristate
config SND_SOC_WM5100
On Wed, Mar 27, 2013 at 09:31:33PM +0800, Xiong Zhou wrote:
> diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
> index 18fea10..f38af70 100644
> --- a/sound/soc/codecs/Kconfig
> +++ b/sound/soc/codecs/Kconfig
> @@ -79,7 +79,6 @@ config SND_SOC_ALL_CODECS
> select SND_SOC_WM0010 if SPI_MASTER
> select SND_SOC_WM1250_EV1 if I2C
> select SND_SOC_WM2000 if I2C
> - select SND_SOC_WM2200 if I2C
> select SND_SOC_WM5100 if I2C
> select SND_SOC_WM5102 if MFD_WM5102
> select SND_SOC_WM5110 if MFD_WM5110
> @@ -370,6 +369,7 @@ config SND_SOC_WM2000
> tristate
>
> config SND_SOC_WM2200
> + depends on SND_SOC_ARIZONA && I2C
> tristate
I really don't understand this at all, removing something from
ALL_CODECS is not a good idea. This isn't a Kconfig issue.
On 03/27/13 06:39, Mark Brown wrote:
> On Wed, Mar 27, 2013 at 09:31:33PM +0800, Xiong Zhou wrote:
>
>> diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
>> index 18fea10..f38af70 100644
>> --- a/sound/soc/codecs/Kconfig
>> +++ b/sound/soc/codecs/Kconfig
>> @@ -79,7 +79,6 @@ config SND_SOC_ALL_CODECS
>> select SND_SOC_WM0010 if SPI_MASTER
>> select SND_SOC_WM1250_EV1 if I2C
>> select SND_SOC_WM2000 if I2C
>> - select SND_SOC_WM2200 if I2C
>> select SND_SOC_WM5100 if I2C
>> select SND_SOC_WM5102 if MFD_WM5102
>> select SND_SOC_WM5110 if MFD_WM5110
>> @@ -370,6 +369,7 @@ config SND_SOC_WM2000
>> tristate
>>
>> config SND_SOC_WM2200
>> + depends on SND_SOC_ARIZONA && I2C
>> tristate
>
> I really don't understand this at all, removing something from
> ALL_CODECS is not a good idea. This isn't a Kconfig issue.
>
Hi Mark,
Do you have a suggestion for a kernel config where SND_SOC_ARIZONA
is not enabled but SND_SOC_WM_ADSP is enabled, which causes a build
error in linux-next?
thanks,
--
~Randy
On Wed, Mar 27, 2013 at 11:30:43AM -0700, Randy Dunlap wrote:
> Do you have a suggestion for a kernel config where SND_SOC_ARIZONA
> is not enabled but SND_SOC_WM_ADSP is enabled, which causes a build
> error in linux-next?
Yes, as I've said several times now the user probably needs to be
conditional. Take a look at what the code is trying to do here...