[PATCH 2/6] cmd: mem: Use a macro to avoid #ifdef in help

Stefan Roese sr at denx.de
Wed Jun 3 07:56:29 CEST 2020


On 03.06.20 03:26, Simon Glass wrote:
> It is a bit painful to have #ifdefs in the middle of the help for each
> command. Add a macro to avoid this.
> 
> Signed-off-by: Simon Glass <sjg at chromium.org>

Reviewed-by: Stefan Roese <sr at denx.de>

Thanks,
Stefan

> ---
> 
>   cmd/mem.c | 68 ++++++++++++++-----------------------------------------
>   1 file changed, 17 insertions(+), 51 deletions(-)
> 
> diff --git a/cmd/mem.c b/cmd/mem.c
> index fe43427d3c..da02bbce95 100644
> --- a/cmd/mem.c
> +++ b/cmd/mem.c
> @@ -33,6 +33,13 @@ DECLARE_GLOBAL_DATA_PTR;
>   #define CONFIG_SYS_MEMTEST_SCRATCH 0
>   #endif
>   
> +/* Create a compile-time value */
> +#if MEM_SUPPORT_64BIT_DATA
> +#define HELP_Q ", .q"
> +#else
> +#define HELP_Q ""
> +#endif
> +
>   static int mod_mem(struct cmd_tbl *, int, int, int, char * const []);
>   
>   /* Display values from last command.
> @@ -1016,7 +1023,6 @@ static int do_mem_mtest(struct cmd_tbl *cmdtp, int flag, int argc,
>    *
>    * Syntax:
>    *	mm{.b, .w, .l, .q} {addr}
> - *	nm{.b, .w, .l, .q} {addr}
>    */
>   static int
>   mod_mem(struct cmd_tbl *cmdtp, int incrflag, int flag, int argc,
> @@ -1196,63 +1202,39 @@ static int do_random(struct cmd_tbl *cmdtp, int flag, int argc,
>   U_BOOT_CMD(
>   	md,	3,	1,	do_mem_md,
>   	"memory display",
> -#if MEM_SUPPORT_64BIT_DATA
> -	"[.b, .w, .l, .q] address [# of objects]"
> -#else
> -	"[.b, .w, .l] address [# of objects]"
> -#endif
> +	"[.b, .w, .l" HELP_Q "] address [# of objects]"
>   );
>   
>   
>   U_BOOT_CMD(
>   	mm,	2,	1,	do_mem_mm,
>   	"memory modify (auto-incrementing address)",
> -#if MEM_SUPPORT_64BIT_DATA
> -	"[.b, .w, .l, .q] address"
> -#else
> -	"[.b, .w, .l] address"
> -#endif
> +	"[.b, .w, .l" HELP_Q "] address"
>   );
>   
>   
>   U_BOOT_CMD(
>   	nm,	2,	1,	do_mem_nm,
>   	"memory modify (constant address)",
> -#if MEM_SUPPORT_64BIT_DATA
> -	"[.b, .w, .l, .q] address"
> -#else
> -	"[.b, .w, .l] address"
> -#endif
> +	"[.b, .w, .l" HELP_Q "] address"
>   );
>   
>   U_BOOT_CMD(
>   	mw,	4,	1,	do_mem_mw,
>   	"memory write (fill)",
> -#if MEM_SUPPORT_64BIT_DATA
> -	"[.b, .w, .l, .q] address value [count]"
> -#else
> -	"[.b, .w, .l] address value [count]"
> -#endif
> +	"[.b, .w, .l" HELP_Q "] address value [count]"
>   );
>   
>   U_BOOT_CMD(
>   	cp,	4,	1,	do_mem_cp,
>   	"memory copy",
> -#if MEM_SUPPORT_64BIT_DATA
> -	"[.b, .w, .l, .q] source target count"
> -#else
> -	"[.b, .w, .l] source target count"
> -#endif
> +	"[.b, .w, .l" HELP_Q "] source target count"
>   );
>   
>   U_BOOT_CMD(
>   	cmp,	4,	1,	do_mem_cmp,
>   	"memory compare",
> -#if MEM_SUPPORT_64BIT_DATA
> -	"[.b, .w, .l, .q] addr1 addr2 count"
> -#else
> -	"[.b, .w, .l] addr1 addr2 count"
> -#endif
> +	"[.b, .w, .l" HELP_Q "] addr1 addr2 count"
>   );
>   
>   #ifdef CONFIG_CMD_CRC32
> @@ -1299,22 +1281,14 @@ U_BOOT_CMD(
>   U_BOOT_CMD(
>   	loop,	3,	1,	do_mem_loop,
>   	"infinite loop on address range",
> -#if MEM_SUPPORT_64BIT_DATA
> -	"[.b, .w, .l, .q] address number_of_objects"
> -#else
> -	"[.b, .w, .l] address number_of_objects"
> -#endif
> +	"[.b, .w, .l" HELP_Q "] address number_of_objects"
>   );
>   
>   #ifdef CONFIG_LOOPW
>   U_BOOT_CMD(
>   	loopw,	4,	1,	do_mem_loopw,
>   	"infinite write loop on address range",
> -#if MEM_SUPPORT_64BIT_DATA
> -	"[.b, .w, .l, .q] address number_of_objects data_to_write"
> -#else
> -	"[.b, .w, .l] address number_of_objects data_to_write"
> -#endif
> +	"[.b, .w, .l" HELP_Q "] address number_of_objects data_to_write"
>   );
>   #endif /* CONFIG_LOOPW */
>   
> @@ -1330,21 +1304,13 @@ U_BOOT_CMD(
>   U_BOOT_CMD(
>   	mdc,	4,	1,	do_mem_mdc,
>   	"memory display cyclic",
> -#if MEM_SUPPORT_64BIT_DATA
> -	"[.b, .w, .l, .q] address count delay(ms)"
> -#else
> -	"[.b, .w, .l] address count delay(ms)"
> -#endif
> +	"[.b, .w, .l" HELP_Q "] address count delay(ms)"
>   );
>   
>   U_BOOT_CMD(
>   	mwc,	4,	1,	do_mem_mwc,
>   	"memory write cyclic",
> -#if MEM_SUPPORT_64BIT_DATA
> -	"[.b, .w, .l, .q] address value delay(ms)"
> -#else
> -	"[.b, .w, .l] address value delay(ms)"
> -#endif
> +	"[.b, .w, .l" HELP_Q "] address value delay(ms)"
>   );
>   #endif /* CONFIG_CMD_MX_CYCLIC */
>   
> 


Viele Grüße,
Stefan

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr at denx.de


More information about the U-Boot mailing list