diff mbox

[U-Boot] Allow the "reset" command to be omitted with CONFIG_CMD_RESET

Message ID 1319137550-6503-1-git-send-email-Kyle.D.Moffett@boeing.com
State Changes Requested
Headers show

Commit Message

Kyle Moffett Oct. 20, 2011, 7:05 p.m. UTC
This new #define is set by default in config_cmd_defaults.h, and
config_cmd_all.h, but this allows boards to conditionally omit the
"reset" command if necessary.

Signed-off-by: Kyle Moffett <Kyle.D.Moffett@boeing.com>
---
 README                        |    1 +
 common/cmd_boot.c             |    2 ++
 include/config_cmd_all.h      |    1 +
 include/config_cmd_defaults.h |    1 +
 4 files changed, 5 insertions(+), 0 deletions(-)

Comments

Mike Frysinger Oct. 20, 2011, 7:53 p.m. UTC | #1
On Thursday 20 October 2011 15:05:50 Kyle Moffett wrote:
> This new #define is set by default in config_cmd_defaults.h, and
> config_cmd_all.h, but this allows boards to conditionally omit the
> "reset" command if necessary.

ignoring the related issues as i'm sure Wolfgang will chime in ...

> --- a/common/cmd_boot.c
> +++ b/common/cmd_boot.c
> @@ -71,8 +71,10 @@ U_BOOT_CMD(
> 
>  #endif
> 
> +#ifdef CONFIG_CMD_RESET
>  U_BOOT_CMD(
>  	reset, 1, 0,	do_reset,
>  	"Perform RESET of the CPU",
>  	""
>  );
> +#endif

would be a good time to split this into a dedicated common/cmd_reset.c

> --- a/include/config_cmd_all.h
> +++ b/include/config_cmd_all.h
>
> --- a/include/config_cmd_defaults.h
> +++ b/include/config_cmd_defaults.h

updating these files is not sufficient and will break boards.  drop the hunks to 
these files and update include/config_defaults.h instead.
-mike
Kyle Moffett Oct. 20, 2011, 8:10 p.m. UTC | #2
On Oct 20, 2011, at 15:53, Mike Frysinger wrote:
> On Thursday 20 October 2011 15:05:50 Kyle Moffett wrote:
>> --- a/common/cmd_boot.c
>> +++ b/common/cmd_boot.c
>> @@ -71,8 +71,10 @@ U_BOOT_CMD(
>> 
>> #endif
>> 
>> +#ifdef CONFIG_CMD_RESET
>> U_BOOT_CMD(
>> 	reset, 1, 0,	do_reset,
>> 	"Perform RESET of the CPU",
>> 	""
>> );
>> +#endif
> 
> would be a good time to split this into a dedicated common/cmd_reset.c

Is it really worth a separate file for just 7 lines of code?

The "do_reset" function itself is defined in the architecture-specific
code that implements it (EG: arch/powerpc/cpu/mpc85xx/cpu.c), so there
is nothing else generic about the command.

>> --- a/include/config_cmd_all.h
>> +++ b/include/config_cmd_all.h
>> 
>> --- a/include/config_cmd_defaults.h
>> +++ b/include/config_cmd_defaults.h
> 
> updating these files is not sufficient and will break boards.  drop the hunks to 
> these files and update include/config_defaults.h instead.

Ah, ok.  The README docs weren't very clear about that.  Fixed, thanks!

Cheers,
Kyle Moffett

--
Curious about my work on the Debian powerpcspe port?
I'm keeping a blog here: http://pureperl.blogspot.com/
Mike Frysinger Oct. 20, 2011, 8:22 p.m. UTC | #3
On Thursday 20 October 2011 16:10:10 Moffett, Kyle D wrote:
> On Oct 20, 2011, at 15:53, Mike Frysinger wrote:
> > On Thursday 20 October 2011 15:05:50 Kyle Moffett wrote:
> >> --- a/common/cmd_boot.c
> >> +++ b/common/cmd_boot.c
> >> @@ -71,8 +71,10 @@ U_BOOT_CMD(
> >> 
> >> #endif
> >> 
> >> +#ifdef CONFIG_CMD_RESET
> >> U_BOOT_CMD(
> >> 
> >> 	reset, 1, 0,	do_reset,
> >> 	"Perform RESET of the CPU",
> >> 	""
> >> 
> >> );
> >> +#endif
> > 
> > would be a good time to split this into a dedicated common/cmd_reset.c
> 
> Is it really worth a separate file for just 7 lines of code?
> 
> The "do_reset" function itself is defined in the architecture-specific
> code that implements it (EG: arch/powerpc/cpu/mpc85xx/cpu.c), so there
> is nothing else generic about the command.

we can also then fix cmd_boot.c to only build when CONFIG_CMD_GO is enabled
-mike
diff mbox

Patch

diff --git a/README b/README
index 7e032a9..98c6192 100644
--- a/README
+++ b/README
@@ -772,6 +772,7 @@  The following options need to be configured:
 					  host
 		CONFIG_CMD_PORTIO	* Port I/O
 		CONFIG_CMD_REGINFO	* Register dump
+		CONFIG_CMD_RESET	  Reset the CPU
 		CONFIG_CMD_RUN		  run command in env variable
 		CONFIG_CMD_SAVES	* save S record dump
 		CONFIG_CMD_SCSI		* SCSI Support
diff --git a/common/cmd_boot.c b/common/cmd_boot.c
index 0afd939..f5779e9 100644
--- a/common/cmd_boot.c
+++ b/common/cmd_boot.c
@@ -71,8 +71,10 @@  U_BOOT_CMD(
 
 #endif
 
+#ifdef CONFIG_CMD_RESET
 U_BOOT_CMD(
 	reset, 1, 0,	do_reset,
 	"Perform RESET of the CPU",
 	""
 );
+#endif
diff --git a/include/config_cmd_all.h b/include/config_cmd_all.h
index 9716f9c..b972cfa 100644
--- a/include/config_cmd_all.h
+++ b/include/config_cmd_all.h
@@ -71,6 +71,7 @@ 
 #define CONFIG_CMD_REGINFO	/* Register dump		*/
 #define CONFIG_CMD_REISER	/* Reiserfs support		*/
 #define CONFIG_CMD_RARP		/* rarpboot support		*/
+#define CONFIG_CMD_RESET	/* reset the CPU		*/
 #define CONFIG_CMD_RUN		/* run command in env variable	*/
 #define CONFIG_CMD_SAVEENV	/* saveenv			*/
 #define CONFIG_CMD_SAVES	/* save S record dump		*/
diff --git a/include/config_cmd_defaults.h b/include/config_cmd_defaults.h
index a55b268..9877aac 100644
--- a/include/config_cmd_defaults.h
+++ b/include/config_cmd_defaults.h
@@ -14,5 +14,6 @@ 
 #define CONFIG_CMD_EXPORTENV 1
 #define CONFIG_CMD_GO 1
 #define CONFIG_CMD_IMPORTENV 1
+#define CONFIG_CMD_RESET 1
 
 #endif