[PATCH 1/2] xilinx: common: Change macro handling in board_fdt_blob_setup()

Michal Simek monstr at monstr.eu
Wed Jan 20 08:49:31 CET 2021


po 11. 1. 2021 v 14:01 odesílatel Michal Simek <michal.simek at xilinx.com> napsal:
>
> Remove ifdef logic which is handled by preprocessor and move it link time
> optimization to get full compile code coverage.
>
> Signed-off-by: Michal Simek <michal.simek at xilinx.com>
> ---
>
>  board/xilinx/common/board.c | 36 ++++++++++++++++++++----------------
>  1 file changed, 20 insertions(+), 16 deletions(-)
>
> diff --git a/board/xilinx/common/board.c b/board/xilinx/common/board.c
> index cdc06a39ce58..9f651db734c7 100644
> --- a/board/xilinx/common/board.c
> +++ b/board/xilinx/common/board.c
> @@ -324,25 +324,29 @@ void *board_fdt_blob_setup(void)
>  {
>         void *fdt_blob;
>
> -#if !defined(CONFIG_VERSAL_NO_DDR) && !defined(CONFIG_ZYNQMP_NO_DDR)
> -       fdt_blob = (void *)CONFIG_XILINX_OF_BOARD_DTB_ADDR;
> +       if (!IS_ENABLED(CONFIG_VERSAL_NO_DDR) &&
> +           !IS_ENABLED(CONFIG_VERSAL_NO_DDR)) {
> +               fdt_blob = (void *)CONFIG_XILINX_OF_BOARD_DTB_ADDR;
>
> -       if (fdt_magic(fdt_blob) == FDT_MAGIC)
> -               return fdt_blob;
> +               if (fdt_magic(fdt_blob) == FDT_MAGIC)
> +                       return fdt_blob;
>
> -       debug("DTB is not passed via %p\n", fdt_blob);
> -#endif
> +               debug("DTB is not passed via %p\n", fdt_blob);
> +       }
>
> -#ifdef CONFIG_SPL_BUILD
> -       /* FDT is at end of BSS unless it is in a different memory region */
> -       if (IS_ENABLED(CONFIG_SPL_SEPARATE_BSS))
> -               fdt_blob = (ulong *)&_image_binary_end;
> -       else
> -               fdt_blob = (ulong *)&__bss_end;
> -#else
> -       /* FDT is at end of image */
> -       fdt_blob = (ulong *)&_end;
> -#endif
> +       if (IS_ENABLED(CONFIG_SPL_BUILD)) {
> +               /*
> +                * FDT is at end of BSS unless it is in a different memory
> +                * region
> +                */
> +               if (IS_ENABLED(CONFIG_SPL_SEPARATE_BSS))
> +                       fdt_blob = (ulong *)&_image_binary_end;
> +               else
> +                       fdt_blob = (ulong *)&__bss_end;
> +       } else {
> +               /* FDT is at end of image */
> +               fdt_blob = (ulong *)&_end;
> +       }
>
>         if (fdt_magic(fdt_blob) == FDT_MAGIC)
>                 return fdt_blob;
> --
> 2.30.0
>

Applied.
M


-- 
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Xilinx Microblaze
Maintainer of Linux kernel - Xilinx Zynq ARM and ZynqMP ARM64 SoCs
U-Boot custodian - Xilinx Microblaze/Zynq/ZynqMP/Versal SoCs


More information about the U-Boot mailing list