[alsa-devel] [PATCH -next] ASoC: atmel: Fix build error
![](https://secure.gravatar.com/avatar/99fadc7a66f85bd5c0262cb31d311d89.jpg?s=120&d=mm&r=g)
when do randbuilding, I got this error:
sound/soc/atmel/atmel_ssc_dai.o: In function `atmel_ssc_set_audio': (.text+0x12f6): undefined reference to `atmel_pcm_pdc_platform_register'
This is because SND_ATMEL_SOC_SSC_DMA=y, SND_ATMEL_SOC_SSC=y, but SND_ATMEL_SOC_SSC_PDC=m. Fix it bt reintroducing the default Kconfig.
Reported-by: Hulk Robot hulkci@huawei.com Fixes: 18291410557f ("ASoC: atmel: enable SOC_SSC_PDC and SOC_SSC_DMA in Kconfig") Signed-off-by: YueHaibing yuehaibing@huawei.com --- sound/soc/atmel/Kconfig | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/sound/soc/atmel/Kconfig b/sound/soc/atmel/Kconfig index f118c22..79e45f2 100644 --- a/sound/soc/atmel/Kconfig +++ b/sound/soc/atmel/Kconfig @@ -12,10 +12,14 @@ if SND_ATMEL_SOC config SND_ATMEL_SOC_PDC tristate depends on HAS_DMA + default m if SND_ATMEL_SOC_SSC_PDC=m && SND_ATMEL_SOC_SSC=m + default y if SND_ATMEL_SOC_SSC_PDC=y || (SND_ATMEL_SOC_SSC_PDC=m && SND_ATMEL_SOC_SSC=y)
config SND_ATMEL_SOC_DMA tristate select SND_SOC_GENERIC_DMAENGINE_PCM + default m if SND_ATMEL_SOC_SSC_DMA=m && SND_ATMEL_SOC_SSC=m + default y if SND_ATMEL_SOC_SSC_DMA=y || (SND_ATMEL_SOC_SSC_DMA=m && SND_ATMEL_SOC_SSC=y)
config SND_ATMEL_SOC_SSC tristate
![](https://secure.gravatar.com/avatar/32b3f613f9e074afffbd0c43380d11cc.jpg?s=120&d=mm&r=g)
On Sat, Sep 28, 2019 at 04:16:41PM +0800, YueHaibing wrote:
when do randbuilding, I got this error:
sound/soc/atmel/atmel_ssc_dai.o: In function `atmel_ssc_set_audio': (.text+0x12f6): undefined reference to `atmel_pcm_pdc_platform_register'
This is because SND_ATMEL_SOC_SSC_DMA=y, SND_ATMEL_SOC_SSC=y, but SND_ATMEL_SOC_SSC_PDC=m. Fix it bt reintroducing the default Kconfig.
Defaults won't forbid the invalid configuration. Can you try following:
diff --git a/sound/soc/atmel/Kconfig b/sound/soc/atmel/Kconfig index f118c229ed82..461f023c5635 100644 --- a/sound/soc/atmel/Kconfig +++ b/sound/soc/atmel/Kconfig @@ -12,10 +12,12 @@ if SND_ATMEL_SOC config SND_ATMEL_SOC_PDC tristate depends on HAS_DMA + select SND_ATMEL_SOC_SSC
config SND_ATMEL_SOC_DMA tristate select SND_SOC_GENERIC_DMAENGINE_PCM + select SND_ATMEL_SOC_SSC
config SND_ATMEL_SOC_SSC tristate @@ -24,7 +26,6 @@ config SND_ATMEL_SOC_SSC_PDC tristate "SoC PCM DAI support for AT91 SSC controller using PDC" depends on ATMEL_SSC select SND_ATMEL_SOC_PDC - select SND_ATMEL_SOC_SSC help Say Y or M if you want to add support for Atmel SSC interface in PDC mode configured using audio-graph-card in device-tree. @@ -33,7 +34,6 @@ config SND_ATMEL_SOC_SSC_DMA tristate "SoC PCM DAI support for AT91 SSC controller using DMA" depends on ATMEL_SSC select SND_ATMEL_SOC_DMA - select SND_ATMEL_SOC_SSC help Say Y or M if you want to add support for Atmel SSC interface in DMA mode configured using audio-graph-card in device-tree.
![](https://secure.gravatar.com/avatar/32b3f613f9e074afffbd0c43380d11cc.jpg?s=120&d=mm&r=g)
On Mon, Sep 30, 2019 at 05:58:18PM +0200, Michał Mirosław wrote:
On Sat, Sep 28, 2019 at 04:16:41PM +0800, YueHaibing wrote:
when do randbuilding, I got this error:
sound/soc/atmel/atmel_ssc_dai.o: In function `atmel_ssc_set_audio': (.text+0x12f6): undefined reference to `atmel_pcm_pdc_platform_register'
This is because SND_ATMEL_SOC_SSC_DMA=y, SND_ATMEL_SOC_SSC=y, but SND_ATMEL_SOC_SSC_PDC=m. Fix it bt reintroducing the default Kconfig.
Defaults won't forbid the invalid configuration. Can you try following:
Ah, no. This won't fix it - the dependency is the other way around: SOC_SSC should depend on _PDC / _DMA.
diff --git a/sound/soc/atmel/Kconfig b/sound/soc/atmel/Kconfig index f118c229ed82..461f023c5635 100644 --- a/sound/soc/atmel/Kconfig +++ b/sound/soc/atmel/Kconfig @@ -12,10 +12,12 @@ if SND_ATMEL_SOC config SND_ATMEL_SOC_PDC tristate depends on HAS_DMA
- select SND_ATMEL_SOC_SSC
config SND_ATMEL_SOC_DMA tristate select SND_SOC_GENERIC_DMAENGINE_PCM
- select SND_ATMEL_SOC_SSC
config SND_ATMEL_SOC_SSC tristate @@ -24,7 +26,6 @@ config SND_ATMEL_SOC_SSC_PDC tristate "SoC PCM DAI support for AT91 SSC controller using PDC" depends on ATMEL_SSC select SND_ATMEL_SOC_PDC
- select SND_ATMEL_SOC_SSC help Say Y or M if you want to add support for Atmel SSC interface in PDC mode configured using audio-graph-card in device-tree.
@@ -33,7 +34,6 @@ config SND_ATMEL_SOC_SSC_DMA tristate "SoC PCM DAI support for AT91 SSC controller using DMA" depends on ATMEL_SSC select SND_ATMEL_SOC_DMA
- select SND_ATMEL_SOC_SSC help Say Y or M if you want to add support for Atmel SSC interface in DMA mode configured using audio-graph-card in device-tree.
![](https://secure.gravatar.com/avatar/99fadc7a66f85bd5c0262cb31d311d89.jpg?s=120&d=mm&r=g)
ping..., this issue still in linux-next 20191017
On 2019/9/28 16:16, YueHaibing wrote:
when do randbuilding, I got this error:
sound/soc/atmel/atmel_ssc_dai.o: In function `atmel_ssc_set_audio': (.text+0x12f6): undefined reference to `atmel_pcm_pdc_platform_register'
This is because SND_ATMEL_SOC_SSC_DMA=y, SND_ATMEL_SOC_SSC=y, but SND_ATMEL_SOC_SSC_PDC=m. Fix it bt reintroducing the default Kconfig.
Reported-by: Hulk Robot hulkci@huawei.com Fixes: 18291410557f ("ASoC: atmel: enable SOC_SSC_PDC and SOC_SSC_DMA in Kconfig") Signed-off-by: YueHaibing yuehaibing@huawei.com
sound/soc/atmel/Kconfig | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/sound/soc/atmel/Kconfig b/sound/soc/atmel/Kconfig index f118c22..79e45f2 100644 --- a/sound/soc/atmel/Kconfig +++ b/sound/soc/atmel/Kconfig @@ -12,10 +12,14 @@ if SND_ATMEL_SOC config SND_ATMEL_SOC_PDC tristate depends on HAS_DMA
- default m if SND_ATMEL_SOC_SSC_PDC=m && SND_ATMEL_SOC_SSC=m
- default y if SND_ATMEL_SOC_SSC_PDC=y || (SND_ATMEL_SOC_SSC_PDC=m && SND_ATMEL_SOC_SSC=y)
config SND_ATMEL_SOC_DMA tristate select SND_SOC_GENERIC_DMAENGINE_PCM
- default m if SND_ATMEL_SOC_SSC_DMA=m && SND_ATMEL_SOC_SSC=m
- default y if SND_ATMEL_SOC_SSC_DMA=y || (SND_ATMEL_SOC_SSC_DMA=m && SND_ATMEL_SOC_SSC=y)
config SND_ATMEL_SOC_SSC tristate
![](https://secure.gravatar.com/avatar/d930951cb00393ecf9c3db3a56d78fa9.jpg?s=120&d=mm&r=g)
On Thu, Oct 17, 2019 at 03:32:01PM +0800, Yuehaibing wrote:
ping..., this issue still in linux-next 20191017
Please don't send content free pings and please allow a reasonable time for review. People get busy, go on holiday, attend conferences and so on so unless there is some reason for urgency (like critical bug fixes) please allow at least a couple of weeks for review. If there have been review comments then people may be waiting for those to be addressed.
Sending content free pings adds to the mail volume (if they are seen at all) which is often the problem and since they can't be reviewed directly if something has gone wrong you'll have to resend the patches anyway, so sending again is generally a better approach though there are some other maintainers who like them - if in doubt look at how patches for the subsystem are normally handled.
![](https://secure.gravatar.com/avatar/7379b68bf17afad4d8e25d365d389cba.jpg?s=120&d=mm&r=g)
On 28/09/2019 10:16, YueHaibing wrote:
when do randbuilding, I got this error:
sound/soc/atmel/atmel_ssc_dai.o: In function `atmel_ssc_set_audio': (.text+0x12f6): undefined reference to `atmel_pcm_pdc_platform_register'
This is because SND_ATMEL_SOC_SSC_DMA=y, SND_ATMEL_SOC_SSC=y, but SND_ATMEL_SOC_SSC_PDC=m. Fix it bt reintroducing the default Kconfig.
A default doesn't prevent a user from picking the problematic config. Shouldn't there be some kind of "depends on" clause?
Reported-by: Hulk Robot hulkci@huawei.com Fixes: 18291410557f ("ASoC: atmel: enable SOC_SSC_PDC and SOC_SSC_DMA in Kconfig") Signed-off-by: YueHaibing yuehaibing@huawei.com
sound/soc/atmel/Kconfig | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/sound/soc/atmel/Kconfig b/sound/soc/atmel/Kconfig index f118c22..79e45f2 100644 --- a/sound/soc/atmel/Kconfig +++ b/sound/soc/atmel/Kconfig @@ -12,10 +12,14 @@ if SND_ATMEL_SOC config SND_ATMEL_SOC_PDC tristate depends on HAS_DMA
- default m if SND_ATMEL_SOC_SSC_PDC=m && SND_ATMEL_SOC_SSC=m
- default y if SND_ATMEL_SOC_SSC_PDC=y || (SND_ATMEL_SOC_SSC_PDC=m && SND_ATMEL_SOC_SSC=y)
config SND_ATMEL_SOC_DMA tristate select SND_SOC_GENERIC_DMAENGINE_PCM
- default m if SND_ATMEL_SOC_SSC_DMA=m && SND_ATMEL_SOC_SSC=m
- default y if SND_ATMEL_SOC_SSC_DMA=y || (SND_ATMEL_SOC_SSC_DMA=m && SND_ATMEL_SOC_SSC=y)
config SND_ATMEL_SOC_SSC tristate
participants (4)
-
Marc Gonzalez
-
Mark Brown
-
Michał Mirosław
-
YueHaibing