[PATCH v7 04/22] lib: Makefile: build crc7.c when CONFIG_MMC_SPI

Heinrich Schuchardt xypron.glpk at gmx.de
Sat May 2 12:29:31 CEST 2020


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.patel at sifive.com>
> Reviewed-by: Jagan Teki <jagan at amarulasolutions.com>
> Reviewed-by: Bin Meng <bmeng.cn at 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

and move that line inside lib/Makefile so that is does not depend on
CONFIG_SPL_BUILD.

Best regards

Heinrich

>  obj-$(CONFIG_$(SPL_TPL_)HASH_SUPPORT) += crc16.o
>  obj-y += net_utils.o
>  endif
>



More information about the U-Boot mailing list