Hi Heinrich, On Sat, May 2, 2020 at 6:30 PM Heinrich Schuchardt <xypron.g...@gmx.de> wrote: > > On 5/2/20 12:06 PM, Pragnesh Patel wrote: > > When build U-Boot SPL, meet an issue of undefined reference to > > 'crc7' for drivers/mmc/mmc_spi.c, so let's compile crc7.c when > > CONFIG_MMC_SPI selected. > > > > Signed-off-by: Pragnesh Patel <pragnesh.pa...@sifive.com> > > Reviewed-by: Jagan Teki <ja...@amarulasolutions.com> > > Reviewed-by: Bin Meng <bmeng...@gmail.com> > > --- > > common/spl/Kconfig | 6 ++++++ > > drivers/mmc/Kconfig | 1 + > > lib/Makefile | 1 + > > 3 files changed, 8 insertions(+) > > > > diff --git a/common/spl/Kconfig b/common/spl/Kconfig > > index ef5bf66696..d1f0e6bc4c 100644 > > --- a/common/spl/Kconfig > > +++ b/common/spl/Kconfig > > @@ -401,6 +401,12 @@ config SPL_CRC32_SUPPORT > > for detected accidental image corruption. For secure applications > > you > > should consider SHA1 or SHA256. > > > > +config SPL_CRC7_SUPPORT > > + bool "Support CRC7" > > + help > > + Enable CRC7 hashing for drivers which are using in SPL. > > + This is a 32-bit checksum value that can be used to verify images. > > + > > config SPL_MD5_SUPPORT > > bool "Support MD5" > > depends on SPL_FIT > > diff --git a/drivers/mmc/Kconfig b/drivers/mmc/Kconfig > > index 8f0df568b9..139599072a 100644 > > --- a/drivers/mmc/Kconfig > > +++ b/drivers/mmc/Kconfig > > @@ -49,6 +49,7 @@ if MMC > > config MMC_SPI > > bool "Support for SPI-based MMC controller" > > depends on DM_MMC && DM_SPI > > + select SPL_CRC7_SUPPORT if SPL > > help > > This selects SPI-based MMC controllers. > > If you have an MMC controller on a SPI bus, say Y here. > > diff --git a/lib/Makefile b/lib/Makefile > > index c6f862b0c2..fcd934857f 100644 > > --- a/lib/Makefile > > +++ b/lib/Makefile > > @@ -80,6 +80,7 @@ endif > > > > ifdef CONFIG_SPL_BUILD > > obj-$(CONFIG_SPL_YMODEM_SUPPORT) += crc16.o > > +obj-$(CONFIG_SPL_CRC7_SUPPORT) += crc7.o > > crc7.o is not needed in main U-Boot if MMC_SPI is not selected. > > So instead of adding a new configuration variable simply correct the > existing line in lib/Makefile > > -obj-y += crc7.o > +obj-$(CONFIG_MMC_SPI) += crc7.o
This looks incorrect to me. CRC7 can be useful for other drivers too. It should not depend on CONFIG_MMC_SPI. > > and move that line inside lib/Makefile so that is does not depend on > CONFIG_SPL_BUILD. > Regards, Bin