[U-Boot] [PATCH 1/2] dfu: samsung: move call to set_dfu_alt_info() to dfu common code

Lukasz Majewski l.majewski at samsung.com
Thu Feb 19 10:22:39 CET 2015


Hi Przemyslaw,

> This common call can be used for setting proper entities based
> on dfu command arguments.
> The config: CONFIG_SET_DFU_ALT_INFO, was used only for few configs,
> and now it is common.
> 
> The board file should implement:
> - set_dfu_alt_info() function
> 
> Signed-off-by: Przemyslaw Marczak <p.marczak at samsung.com>
> Cc: Lukasz Majewski <l.majewski at samsung.com>
> Cc: Stephen Warren <swarren at nvidia.com>
> Cc: Marek Vasut <marex at denx.de>
> ---
>  board/samsung/common/board.c | 3 ---
>  board/samsung/common/misc.c  | 6 +++---
>  drivers/dfu/dfu.c            | 3 +++
>  include/dfu.h                | 3 +++
>  include/samsung/misc.h       | 5 ++---
>  5 files changed, 11 insertions(+), 9 deletions(-)
> 
> diff --git a/board/samsung/common/board.c
> b/board/samsung/common/board.c index 8b4c8e9..d28fed9 100644
> --- a/board/samsung/common/board.c
> +++ b/board/samsung/common/board.c
> @@ -338,9 +338,6 @@ int arch_early_init_r(void)
>  #ifdef CONFIG_MISC_INIT_R
>  int misc_init_r(void)
>  {
> -#ifdef CONFIG_SET_DFU_ALT_INFO
> -	set_dfu_alt_info();
> -#endif
>  #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
>  	set_board_info();
>  #endif
> diff --git a/board/samsung/common/misc.c b/board/samsung/common/misc.c
> index 4538ac7..1a77c82 100644
> --- a/board/samsung/common/misc.c
> +++ b/board/samsung/common/misc.c
> @@ -22,7 +22,7 @@
>  DECLARE_GLOBAL_DATA_PTR;
>  
>  #ifdef CONFIG_SET_DFU_ALT_INFO
> -void set_dfu_alt_info(void)
> +void set_dfu_alt_info(char *interface, char *devstr)
>  {
>  	size_t buf_size = CONFIG_SET_DFU_ALT_BUF_LEN;
>  	ALLOC_CACHE_ALIGN_BUFFER(char, buf, buf_size);
> @@ -34,13 +34,13 @@ void set_dfu_alt_info(void)
>  
>  	puts("DFU alt info setting: ");
>  
> -	alt_setting = get_dfu_alt_boot();
> +	alt_setting = get_dfu_alt_boot(interface, devstr);
>  	if (alt_setting) {
>  		setenv("dfu_alt_boot", alt_setting);
>  		offset = snprintf(buf, buf_size, "%s", alt_setting);
>  	}
>  
> -	alt_setting = get_dfu_alt_system();
> +	alt_setting = get_dfu_alt_system(interface, devstr);
>  	if (alt_setting) {
>  		if (offset)
>  			alt_sep = ";";
> diff --git a/drivers/dfu/dfu.c b/drivers/dfu/dfu.c
> index ad0a7e7..0560afa 100644
> --- a/drivers/dfu/dfu.c
> +++ b/drivers/dfu/dfu.c
> @@ -55,6 +55,9 @@ int dfu_init_env_entities(char *interface, char
> *devstr) char *env_bkp;
>  	int ret;
>  
> +#ifdef CONFIG_SET_DFU_ALT_INFO
> +	set_dfu_alt_info(interface, devstr);
> +#endif
>  	str_env = getenv("dfu_alt_info");
>  	if (!str_env) {
>  		error("\"dfu_alt_info\" env variable not
> defined!\n"); diff --git a/include/dfu.h b/include/dfu.h
> index c27856c..7d31abd 100644
> --- a/include/dfu.h
> +++ b/include/dfu.h
> @@ -140,6 +140,9 @@ struct dfu_entity {
>  	unsigned int inited:1;
>  };
>  
> +#ifdef CONFIG_SET_DFU_ALT_INFO
> +void set_dfu_alt_info(char *interface, char *devstr);
> +#endif
>  int dfu_config_entities(char *s, char *interface, char *devstr);
>  void dfu_free_entities(void);
>  void dfu_show_entities(void);
> diff --git a/include/samsung/misc.h b/include/samsung/misc.h
> index 607e8d4..0f957dc 100644
> --- a/include/samsung/misc.h
> +++ b/include/samsung/misc.h
> @@ -29,9 +29,8 @@ void draw_logo(void);
>  #endif
>  
>  #ifdef CONFIG_SET_DFU_ALT_INFO
> -char *get_dfu_alt_system(void);
> -char *get_dfu_alt_boot(void);
> -void set_dfu_alt_info(void);
> +char *get_dfu_alt_system(char *interface, char *devstr);
> +char *get_dfu_alt_boot(char *interface, char *devstr);
>  #endif
>  #ifdef CONFIG_BOARD_TYPES
>  void set_board_type(void);

Acked-by: Lukasz Majewski <l.majewski at samsung.com>

Tested-by: Lukasz Majewski <l.majewski at samsung.com>
Test HW: Odroid U3 (Exynos 4412)

-- 
Best regards,

Lukasz Majewski

Samsung R&D Institute Poland (SRPOL) | Linux Platform Group


More information about the U-Boot mailing list