[U-Boot] [PATCH] generic_board: do not set gd->fdt_blob unless CONFIG_OF_CONTROL=y

Simon Glass sjg at chromium.org
Sat Sep 6 18:33:35 CEST 2014


Hi Masahiro,

On 6 September 2014 08:39, Masahiro Yamada <yamada.m at jp.panasonic.com> wrote:
> gd->fdt_blob is used for FDT control of U-Boot.
> If CONFIG_OF_CONTROL is not defined, it is useless.
>
> Signed-off-by: Masahiro Yamada <yamada.m at jp.panasonic.com>
> Cc: Simon Glass <sjg at chromium.org>
> ---
>
>  common/board_f.c | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/common/board_f.c b/common/board_f.c
> index 4ece2b6..b2ab63f 100644
> --- a/common/board_f.c
> +++ b/common/board_f.c
> @@ -341,21 +341,23 @@ static int setup_ram_buf(void)
>
>  static int setup_fdt(void)
>  {
> -#ifdef CONFIG_OF_EMBED
> +#ifdef CONFIG_OF_CONTROL
> +# ifdef CONFIG_OF_EMBED
>         /* Get a pointer to the FDT */
>         gd->fdt_blob = __dtb_dt_begin;
> -#elif defined CONFIG_OF_SEPARATE
> +# elif defined CONFIG_OF_SEPARATE
>         /* FDT is at end of image */
>         gd->fdt_blob = (ulong *)&_end;
> -#elif defined(CONFIG_OF_HOSTFILE)
> +# elif defined(CONFIG_OF_HOSTFILE)
>         if (read_fdt_from_file()) {
>                 puts("Failed to read control FDT\n");
>                 return -1;
>         }
> -#endif
> +# endif

I don't think the above has any effect, since CONFIG_OF_EMBED,
CONFIG_OF_SEPARATE and CONFIG_OF_HOSTFILE should not be set if
CONFIG_OF_CONTROL is not set.

>         /* Allow the early environment to override the fdt address */
>         gd->fdt_blob = (void *)getenv_ulong("fdtcontroladdr", 16,
>                                                 (uintptr_t)gd->fdt_blob);

You effectively just remove this statement. Is it worth it for the
extra #ifdefs?

Regards,
Simon


More information about the U-Boot mailing list