summaryrefslogtreecommitdiffstats
path: root/commands
diff options
context:
space:
mode:
authorAhmad Fatoum <a.fatoum@pengutronix.de>2022-01-19 15:08:16 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2022-01-20 09:57:19 +0100
commit60385d06eeac0b6ec1998a5f1ae696d1c8c5b796 (patch)
tree47a207ddc44f638702b15e15478429609094a52c /commands
parent15d1dfd26f71790e4063d94cb00ce5d316e128b5 (diff)
downloadbarebox-60385d06eeac0b6ec1998a5f1ae696d1c8c5b796.tar.gz
barebox-60385d06eeac0b6ec1998a5f1ae696d1c8c5b796.tar.xz
commands: wd: add new -x option to inhibit all watchdogs
When booting after nv.autoboot=abort, barebox will drop to shell and try to inhibit all watchdogs: If they can be disabled, they will be and otherwise if autopoll support is compiled in, they will be periodically fed. This is useful for development. For this to work though, barebox needs an environment. Make watchdog_inhibit_all more accessible by making it directly invocable with wd -x. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20220119140816.610764-1-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'commands')
-rw-r--r--commands/wd.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/commands/wd.c b/commands/wd.c
index c186244b2b..11f888133a 100644
--- a/commands/wd.c
+++ b/commands/wd.c
@@ -18,11 +18,13 @@ static int do_wd(int argc, char *argv[])
int opt;
int rc;
- while ((opt = getopt(argc, argv, "d:")) > 0) {
+ while ((opt = getopt(argc, argv, "d:x")) > 0) {
switch (opt) {
case 'd':
wd = watchdog_get_by_name(optarg);
break;
+ case 'x':
+ return watchdog_inhibit_all();
default:
return COMMAND_ERROR_USAGE;
}
@@ -66,12 +68,13 @@ BAREBOX_CMD_HELP_TEXT("When TIME is 0, the watchdog gets disabled,")
BAREBOX_CMD_HELP_TEXT("Without a parameter the watchdog will be re-triggered.")
BAREBOX_CMD_HELP_TEXT("Options:")
BAREBOX_CMD_HELP_OPT("-d DEVICE\t", "watchdog name (default is highest priority watchdog)")
+BAREBOX_CMD_HELP_OPT("-x\t", "inhibit all watchdogs (i.e. disable or autopoll if possible)")
BAREBOX_CMD_HELP_END
BAREBOX_CMD_START(wd)
.cmd = do_wd,
BAREBOX_CMD_DESC("enable/disable/trigger the watchdog")
- BAREBOX_CMD_OPTS("[-d DEVICE] [TIME]")
+ BAREBOX_CMD_OPTS("[-d DEVICE] [-x] [TIME]")
BAREBOX_CMD_GROUP(CMD_GRP_HWMANIP)
BAREBOX_CMD_HELP(cmd_wd_help)
BAREBOX_CMD_COMPLETE(device_complete)