[PATCH] sunxi: fix build when CONFIG_UART0_PORT_F is selected
Andre Przywara
andre.przywara at arm.com
Sat Mar 5 22:33:40 CET 2022
On Sat, 5 Mar 2022 00:06:01 +0800
Icenowy Zheng <icenowy at aosc.io> wrote:
Hi Icenowy,
> Currently CONFIG_UART0_PORT_F will forbid the build of sunxi-mmc driver,
> which leads calls to it in board/sunxi/board.c a undefined reference.
>
> Guard that code in #ifndef to fix build.
That's indeed a problem.
> Signed-off-by: Icenowy Zheng <icenowy at aosc.io>
> ---
> board/sunxi/board.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/board/sunxi/board.c b/board/sunxi/board.c
> index 82c52b28f8..8a003d8559 100644
> --- a/board/sunxi/board.c
> +++ b/board/sunxi/board.c
> @@ -539,6 +539,7 @@ int board_mmc_init(struct bd_info *bis)
> {
> __maybe_unused struct mmc *mmc0, *mmc1;
>
> +#ifndef CONFIG_UART0_PORT_F
Shouldn't it be "#ifdef CONFIG_MMC_SUNXI" instead, which is the actual
reason for the build fail?
And furthermore, this is just a link failure, and I think we rely on
toolchain garbage collection anyway, so I managed with:
if (!CONFIG_IS_ENABLED(MMC_SUNXI))
return 0;
which avoids the nested #ifdef.
Shall we go with this instead?
> mmc_pinmux_setup(CONFIG_MMC_SUNXI_SLOT);
> mmc0 = sunxi_mmc_init(CONFIG_MMC_SUNXI_SLOT);
> if (!mmc0)
> @@ -549,6 +550,7 @@ int board_mmc_init(struct bd_info *bis)
> mmc1 = sunxi_mmc_init(CONFIG_MMC_SUNXI_SLOT_EXTRA);
> if (!mmc1)
> return -1;
> +#endif
> #endif
>
> return 0;
More information about the U-Boot
mailing list