[U-Boot] [PATCH v3] hwconfig: Fix dummy initialization of {board, cpu}_hwconfig

Scott Wood scottwood at freescale.com
Tue Nov 30 22:12:36 CET 2010


On Tue, 30 Nov 2010 15:01:28 -0600
Kumar Gala <galak at kernel.crashing.org> wrote:

> diff --git a/common/hwconfig.c b/common/hwconfig.c
> index 3c9759f..da8d3ed 100644
> --- a/common/hwconfig.c
> +++ b/common/hwconfig.c
> @@ -68,8 +68,8 @@ next:
>  	return NULL;
>  }
>  
> -const char *cpu_hwconfig __attribute__((weak));
> -const char *board_hwconfig __attribute__((weak));
> +const char cpu_hwconfig[] __attribute__((weak)) = "";
> +const char board_hwconfig[] __attribute__((weak)) = "";
>  
>  #define HWCONFIG_PRE_RELOC_BUF_SIZE	128
>  
> @@ -96,13 +96,11 @@ static const char *__hwconfig(const char *opt, size_t *arglen)
>  		return hwconfig_parse(env_hwconfig, strlen(env_hwconfig),
>  				      opt, ";", ':', arglen);
>  
> -	if (board_hwconfig)
> -		return hwconfig_parse(board_hwconfig, strlen(board_hwconfig),
> -				      opt, ";", ':', arglen);
> +	return hwconfig_parse(board_hwconfig, strlen(board_hwconfig),
> +			opt, ";", ':', arglen);
>  
> -	if (cpu_hwconfig)
> -		return hwconfig_parse(cpu_hwconfig, strlen(cpu_hwconfig),
> -				      opt, ";", ':', arglen);
> +	return hwconfig_parse(cpu_hwconfig, strlen(cpu_hwconfig),
> +			opt, ";", ':', arglen);
>  
>  	return NULL;
>  }

Hmm.  "return x; return y; return NULL;"

Was the presence of a board hwconfig really intended to override, rather
than add to, the cpu hwconfig?  Should we check the return of the first
hwconfig_parse to see if it found anything?

-Scott



More information about the U-Boot mailing list