Message ID | 7ea1cd5a-9215-18ed-2412-b6860a0b708f@infradead.org (mailing list archive) |
---|---|
State | Accepted |
Commit | b3af6d3f966a86cc556f5048fe6fff4e8cf567bc |
Headers | show |
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
--- 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.