ASoC: pxa: don't select SSP for COMPILE_TESTing
diff mbox

Message ID 20170807104101.3540159-1-arnd@arndb.de
State New
Headers show

Commit Message

Arnd Bergmann Aug. 7, 2017, 10:40 a.m. UTC
When the audio driver selects CONFIG_PXA_SSP to be a loadable
module on a platform other than PXA, and the PXA SPI driver
is built-in, we get a link error in the SPI driver:

drivers/spi/spi-pxa2xx.o: In function `pxa2xx_spi_remove':
spi-pxa2xx.c:(.text+0x5f0): undefined reference to `pxa_ssp_free'
drivers/spi/spi-pxa2xx.o: In function `pxa2xx_spi_probe':
spi-pxa2xx.c:(.text+0xeac): undefined reference to `pxa_ssp_request'
spi-pxa2xx.c:(.text+0x1468): undefined reference to `pxa_ssp_free'
spi-pxa2xx.c:(.text+0x15bc): undefined reference to `pxa_ssp_free'

Fixes: 73d7ee2e831f ("ASoC: pxa: add COMPILE_TEST on SND_PXA2XX_SOC")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 sound/soc/pxa/Kconfig | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Mark Brown Aug. 7, 2017, 11:20 a.m. UTC | #1
On Mon, Aug 07, 2017 at 12:40:44PM +0200, Arnd Bergmann wrote:
> When the audio driver selects CONFIG_PXA_SSP to be a loadable
> module on a platform other than PXA, and the PXA SPI driver
> is built-in, we get a link error in the SPI driver:

Why doesn't this cause problems on PXA?
Arnd Bergmann Aug. 7, 2017, 11:36 a.m. UTC | #2
On Mon, Aug 7, 2017 at 1:20 PM, Mark Brown <broonie@kernel.org> wrote:
> On Mon, Aug 07, 2017 at 12:40:44PM +0200, Arnd Bergmann wrote:
>> When the audio driver selects CONFIG_PXA_SSP to be a loadable
>> module on a platform other than PXA, and the PXA SPI driver
>> is built-in, we get a link error in the SPI driver:
>
> Why doesn't this cause problems on PXA?

On PXA, we 'make' descends into arch/arm/plat-pxa/, where ssp.o
is located. On other ARM platforms (I guess except for MMP),
PLAT_PXA is not set, and on non-ARM architectures, we can't
get there anyway.

      Arnd
Mark Brown Aug. 7, 2017, 11:48 a.m. UTC | #3
On Mon, Aug 07, 2017 at 01:36:09PM +0200, Arnd Bergmann wrote:
> On Mon, Aug 7, 2017 at 1:20 PM, Mark Brown <broonie@kernel.org> wrote:
> > On Mon, Aug 07, 2017 at 12:40:44PM +0200, Arnd Bergmann wrote:
> >> When the audio driver selects CONFIG_PXA_SSP to be a loadable
> >> module on a platform other than PXA, and the PXA SPI driver
> >> is built-in, we get a link error in the SPI driver:

> > Why doesn't this cause problems on PXA?

> On PXA, we 'make' descends into arch/arm/plat-pxa/, where ssp.o
> is located. On other ARM platforms (I guess except for MMP),
> PLAT_PXA is not set, and on non-ARM architectures, we can't
> get there anyway.

Still missing a few steps of reasoning here...
Arnd Bergmann Aug. 7, 2017, 11:58 a.m. UTC | #4
On Mon, Aug 7, 2017 at 1:48 PM, Mark Brown <broonie@kernel.org> wrote:
> On Mon, Aug 07, 2017 at 01:36:09PM +0200, Arnd Bergmann wrote:
>> On Mon, Aug 7, 2017 at 1:20 PM, Mark Brown <broonie@kernel.org> wrote:
>> > On Mon, Aug 07, 2017 at 12:40:44PM +0200, Arnd Bergmann wrote:
>> >> When the audio driver selects CONFIG_PXA_SSP to be a loadable
>> >> module on a platform other than PXA, and the PXA SPI driver
>> >> is built-in, we get a link error in the SPI driver:
>
>> > Why doesn't this cause problems on PXA?
>
>> On PXA, we 'make' descends into arch/arm/plat-pxa/, where ssp.o
>> is located. On other ARM platforms (I guess except for MMP),
>> PLAT_PXA is not set, and on non-ARM architectures, we can't
>> get there anyway.
>
> Still missing a few steps of reasoning here...

Sorry, I just realized that you were trying to point out the incomplete
changelog. I must have accidentally closed the editor while working on
it, and then sent it out today after getting no regressions.

I'll resend with a proper changelog.

        Arnd
Mark Brown Aug. 7, 2017, noon UTC | #5
On Mon, Aug 07, 2017 at 01:58:29PM +0200, Arnd Bergmann wrote:
> On Mon, Aug 7, 2017 at 1:48 PM, Mark Brown <broonie@kernel.org> wrote:

> > Still missing a few steps of reasoning here...

> Sorry, I just realized that you were trying to point out the incomplete
> changelog. I must have accidentally closed the editor while working on
> it, and then sent it out today after getting no regressions.

> I'll resend with a proper changelog.

Thanks!
Arnd Bergmann Aug. 7, 2017, 3:39 p.m. UTC | #6
On Mon, Aug 7, 2017 at 12:40 PM, Arnd Bergmann <arnd@arndb.de> wrote:
> When the audio driver selects CONFIG_PXA_SSP to be a loadable
> module on a platform other than PXA, and the PXA SPI driver
> is built-in, we get a link error in the SPI driver:
>
> drivers/spi/spi-pxa2xx.o: In function `pxa2xx_spi_remove':
> spi-pxa2xx.c:(.text+0x5f0): undefined reference to `pxa_ssp_free'
> drivers/spi/spi-pxa2xx.o: In function `pxa2xx_spi_probe':
> spi-pxa2xx.c:(.text+0xeac): undefined reference to `pxa_ssp_request'
> spi-pxa2xx.c:(.text+0x1468): undefined reference to `pxa_ssp_free'
> spi-pxa2xx.c:(.text+0x15bc): undefined reference to `pxa_ssp_free'
>
> Fixes: 73d7ee2e831f ("ASoC: pxa: add COMPILE_TEST on SND_PXA2XX_SOC")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

While trying to write up a better changelog, I found that I had run into this
before and attempted a different fix, see
https://patchwork.kernel.org/patch/8879921/

The commit I referred to in "Fixes:" did not introduce a new problem at
all, but it appears to have made it more likely to run into this situation.

Sending a third patch now, again different.

Mark, let me know if you want something else instead.

       Arnd

Patch
diff mbox

diff --git a/sound/soc/pxa/Kconfig b/sound/soc/pxa/Kconfig
index 484ab3c2ad67..1d392582559d 100644
--- a/sound/soc/pxa/Kconfig
+++ b/sound/soc/pxa/Kconfig
@@ -33,7 +33,7 @@  config SND_PXA2XX_SOC_I2S
 
 config SND_PXA_SOC_SSP
 	tristate
-	select PXA_SSP
+	select PXA_SSP if ARCH_PXA
 
 config SND_MMP_SOC_SSPA
 	tristate
@@ -141,7 +141,6 @@  config SND_PXA910_SOC
 config SND_SOC_TTC_DKB
 	tristate "SoC Audio support for TTC DKB"
 	depends on SND_PXA910_SOC && MACH_TTC_DKB && I2C=y
-	select PXA_SSP
 	select SND_PXA_SOC_SSP
 	select SND_MMP_SOC
 	select MFD_88PM860X