[alsa-devel] [PATCH] ASoC: fsl: fix fsl_spdif.c build errors
From: Randy Dunlap rdunlap@infradead.org
Fix build errors in sound/soc/fsl/fsl_spdif.c by selecting BITREVERSE. Fixes these build errors:
sound/built-in.o: In function `spdif_write_channel_status': fsl_spdif.c:(.text+0xbe39d): undefined reference to `byte_rev_table' fsl_spdif.c:(.text+0xbe3a8): undefined reference to `byte_rev_table' fsl_spdif.c:(.text+0xbe3be): undefined reference to `byte_rev_table' fsl_spdif.c:(.text+0xbe3d8): undefined reference to `byte_rev_table'
Signed-off-by: Randy Dunlap rdunlap@infradead.org Reported-by: kbuild test robot fengguang.wu@intel.com Applies-to: all 3.x, all 4.x --- sound/soc/fsl/Kconfig | 1 + 1 file changed, 1 insertion(+)
--- lnx-49-rc3.orig/sound/soc/fsl/Kconfig +++ lnx-49-rc3/sound/soc/fsl/Kconfig @@ -40,6 +40,7 @@ config SND_SOC_FSL_SPDIF select REGMAP_MMIO select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_TZIC || MXC_AVIC) + select BITREVERSE help Say Y if you want to add Sony/Philips Digital Interface (SPDIF) support for the Freescale CPUs.
Hi Randy,
On Sat, Nov 5, 2016 at 9:16 PM, Randy Dunlap rdunlap@infradead.org wrote:
From: Randy Dunlap rdunlap@infradead.org
Fix build errors in sound/soc/fsl/fsl_spdif.c by selecting BITREVERSE. Fixes these build errors:
Care to explain why the error is happening?
sound/built-in.o: In function `spdif_write_channel_status': fsl_spdif.c:(.text+0xbe39d): undefined reference to `byte_rev_table' fsl_spdif.c:(.text+0xbe3a8): undefined reference to `byte_rev_table' fsl_spdif.c:(.text+0xbe3be): undefined reference to `byte_rev_table' fsl_spdif.c:(.text+0xbe3d8): undefined reference to `byte_rev_table'
Signed-off-by: Randy Dunlap rdunlap@infradead.org Reported-by: kbuild test robot fengguang.wu@intel.com Applies-to: all 3.x, all 4.x
Not sure if this last line is correct. The kbuild report says this error starts to happen with: commit: 8cfc8ddc99df9509a46043b14af81f5c6a223eab pstore: add lzo/lz4 compression support
on a x86_64 randconfig.
Also, why only SND_SOC_FSL_SPDIF needs to have BITREVERSE selected?
On 11/06/16 11:43, Fabio Estevam wrote:
Hi Randy,
On Sat, Nov 5, 2016 at 9:16 PM, Randy Dunlap rdunlap@infradead.org wrote:
From: Randy Dunlap rdunlap@infradead.org
Fix build errors in sound/soc/fsl/fsl_spdif.c by selecting BITREVERSE. Fixes these build errors:
Care to explain why the error is happening?
The driver uses bitreverse functions but does not select BITREVERSE in its kconfig description, so the bitrev functions are not built into the kernel. In the kbuild robot supplied config file, FSL_SPDIF=y and BITREVERSE=m, which causes the build error. By having this driver select BITREVERSE, CONFIG_BITREVERSE=y so there is no build error.
sound/built-in.o: In function `spdif_write_channel_status': fsl_spdif.c:(.text+0xbe39d): undefined reference to `byte_rev_table' fsl_spdif.c:(.text+0xbe3a8): undefined reference to `byte_rev_table' fsl_spdif.c:(.text+0xbe3be): undefined reference to `byte_rev_table' fsl_spdif.c:(.text+0xbe3d8): undefined reference to `byte_rev_table'
Signed-off-by: Randy Dunlap rdunlap@infradead.org Reported-by: kbuild test robot fengguang.wu@intel.com Applies-to: all 3.x, all 4.x
Not sure if this last line is correct. The kbuild report says this error starts to happen with: commit: 8cfc8ddc99df9509a46043b14af81f5c6a223eab pstore: add lzo/lz4 compression support
That commit makes no sense to me regarding this build error.
This driver uses bitrev functions even way back in 3.x so this patch could be applied to many stable kernel versions.
on a x86_64 randconfig.
Also, why only SND_SOC_FSL_SPDIF needs to have BITREVERSE selected?
It's the only source file in sound/soc/fsl/ that uses bitreverse functions.
Hi Randy,
On Sun, Nov 6, 2016 at 7:40 PM, Randy Dunlap rdunlap@infradead.org wrote:
The driver uses bitreverse functions but does not select BITREVERSE in its kconfig description, so the bitrev functions are not built into the kernel. In the kbuild robot supplied config file, FSL_SPDIF=y and BITREVERSE=m, which causes the build error. By having this driver select BITREVERSE, CONFIG_BITREVERSE=y so there is no build error.
This makes sense, thanks:
Reviewed-by: Fabio Estevam fabio.estevam@nxp.com
On Sun, Nov 6, 2016 at 1:40 PM, Randy Dunlap rdunlap@infradead.org wrote:
On 11/06/16 11:43, Fabio Estevam wrote:
Hi Randy,
On Sat, Nov 5, 2016 at 9:16 PM, Randy Dunlap rdunlap@infradead.org wrote:
From: Randy Dunlap rdunlap@infradead.org
Fix build errors in sound/soc/fsl/fsl_spdif.c by selecting BITREVERSE. Fixes these build errors:
Care to explain why the error is happening?
The driver uses bitreverse functions but does not select BITREVERSE in its kconfig description, so the bitrev functions are not built into the kernel. In the kbuild robot supplied config file, FSL_SPDIF=y and BITREVERSE=m, which causes the build error. By having this driver select BITREVERSE, CONFIG_BITREVERSE=y so there is no build error.
sound/built-in.o: In function `spdif_write_channel_status': fsl_spdif.c:(.text+0xbe39d): undefined reference to `byte_rev_table' fsl_spdif.c:(.text+0xbe3a8): undefined reference to `byte_rev_table' fsl_spdif.c:(.text+0xbe3be): undefined reference to `byte_rev_table' fsl_spdif.c:(.text+0xbe3d8): undefined reference to `byte_rev_table'
Signed-off-by: Randy Dunlap rdunlap@infradead.org Reported-by: kbuild test robot fengguang.wu@intel.com Applies-to: all 3.x, all 4.x
Not sure if this last line is correct. The kbuild report says this error starts to happen with: commit: 8cfc8ddc99df9509a46043b14af81f5c6a223eab pstore: add lzo/lz4 compression support
That commit makes no sense to me regarding this build error.
This driver uses bitrev functions even way back in 3.x so this patch could be applied to many stable kernel versions.
Yeah, I scratched my head on this too, but noted that the 0-day report was from a 5 month old build, so I kind of assumed it was an 0-day glitch.
-Kees
on a x86_64 randconfig.
Also, why only SND_SOC_FSL_SPDIF needs to have BITREVERSE selected?
It's the only source file in sound/soc/fsl/ that uses bitreverse functions.
-- ~Randy
The patch
ASoC: fsl: fix fsl_spdif.c build errors
has been applied to the asoc tree at
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying to this mail.
Thanks, Mark
From b3af6d3f966a86cc556f5048fe6fff4e8cf567bc Mon Sep 17 00:00:00 2001
From: Randy Dunlap rdunlap@infradead.org Date: Sat, 5 Nov 2016 16:16:32 -0700 Subject: [PATCH] ASoC: fsl: fix fsl_spdif.c build errors
Fix build errors in sound/soc/fsl/fsl_spdif.c by selecting BITREVERSE. Fixes these build errors:
sound/built-in.o: In function `spdif_write_channel_status': fsl_spdif.c:(.text+0xbe39d): undefined reference to `byte_rev_table' fsl_spdif.c:(.text+0xbe3a8): undefined reference to `byte_rev_table' fsl_spdif.c:(.text+0xbe3be): undefined reference to `byte_rev_table' fsl_spdif.c:(.text+0xbe3d8): undefined reference to `byte_rev_table'
Signed-off-by: Randy Dunlap rdunlap@infradead.org Reported-by: kbuild test robot fengguang.wu@intel.com Reviewed-by: Fabio Estevam fabio.estevam@nxp.com Signed-off-by: Mark Brown broonie@kernel.org --- sound/soc/fsl/Kconfig | 1 + 1 file changed, 1 insertion(+)
diff --git a/sound/soc/fsl/Kconfig b/sound/soc/fsl/Kconfig index 19bdcac71775..37f9b6201918 100644 --- a/sound/soc/fsl/Kconfig +++ b/sound/soc/fsl/Kconfig @@ -40,6 +40,7 @@ config SND_SOC_FSL_SPDIF select REGMAP_MMIO select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_TZIC || MXC_AVIC) + select BITREVERSE help Say Y if you want to add Sony/Philips Digital Interface (SPDIF) support for the Freescale CPUs.
participants (4)
-
Fabio Estevam
-
Kees Cook
-
Mark Brown
-
Randy Dunlap