9
0
Fork 0

commands: reset: add shutdown_barebox() before reset_cpu()

Some of controlled by barebox peripheral devices may be
not affected by CPU reset, so we need call shutdown_barebox()
to stop them.

Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
Antony Pavlov 2013-01-29 15:03:05 +04:00 committed by Sascha Hauer
parent 56f99ec44a
commit 263e454f7f
1 changed files with 23 additions and 0 deletions

View File

@ -20,17 +20,40 @@
#include <common.h>
#include <command.h>
#include <complete.h>
#include <getopt.h>
static int cmd_reset(int argc, char *argv[])
{
int opt, shutdown_flag;
shutdown_flag = 1;
while ((opt = getopt(argc, argv, "f")) > 0) {
switch (opt) {
case 'f':
shutdown_flag = 0;
break;
}
}
if (shutdown_flag)
shutdown_barebox();
reset_cpu(0);
/* Not reached */
return 1;
}
BAREBOX_CMD_HELP_START(reset)
BAREBOX_CMD_HELP_USAGE("reset [-f]\n")
BAREBOX_CMD_HELP_SHORT("Perform RESET of the CPU.\n")
BAREBOX_CMD_HELP_OPT("-f", "force RESET, don't call shutdown\n")
BAREBOX_CMD_HELP_END
BAREBOX_CMD_START(reset)
.cmd = cmd_reset,
.usage = "Perform RESET of the CPU",
BAREBOX_CMD_HELP(cmd_reset_help)
BAREBOX_CMD_COMPLETE(empty_complete)
BAREBOX_CMD_END