Message ID | 20170807104101.3540159-1-arnd@arndb.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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 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
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...
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
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!
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
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
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(-)