Tom Rini | 83d290c | 2018-05-06 17:58:06 -0400 | [diff] [blame] | 1 | // SPDX-License-Identifier: GPL-2.0+ |
Peter Tyser | 6b8f5ad | 2009-10-16 17:36:25 -0500 | [diff] [blame] | 2 | /* |
| 3 | * Copyright 2000-2009 |
| 4 | * Wolfgang Denk, DENX Software Engineering, wd@denx.de. |
Peter Tyser | 6b8f5ad | 2009-10-16 17:36:25 -0500 | [diff] [blame] | 5 | */ |
| 6 | |
| 7 | #include <common.h> |
| 8 | #include <command.h> |
| 9 | |
Simon Glass | 0914011 | 2020-05-10 11:40:03 -0600 | [diff] [blame] | 10 | static int do_help(struct cmd_tbl *cmdtp, int flag, int argc, |
| 11 | char *const argv[]) |
Peter Tyser | 6b8f5ad | 2009-10-16 17:36:25 -0500 | [diff] [blame] | 12 | { |
Simon Glass | f8bb696 | 2016-03-19 02:18:38 -0600 | [diff] [blame] | 13 | #ifdef CONFIG_CMDLINE |
Simon Glass | 0914011 | 2020-05-10 11:40:03 -0600 | [diff] [blame] | 14 | struct cmd_tbl *start = ll_entry_start(struct cmd_tbl, cmd); |
| 15 | const int len = ll_entry_count(struct cmd_tbl, cmd); |
Marek Vasut | 6c7c946 | 2012-10-12 10:27:04 +0000 | [diff] [blame] | 16 | return _do_help(start, len, cmdtp, flag, argc, argv); |
Simon Glass | f8bb696 | 2016-03-19 02:18:38 -0600 | [diff] [blame] | 17 | #else |
| 18 | return 0; |
| 19 | #endif |
Peter Tyser | 6b8f5ad | 2009-10-16 17:36:25 -0500 | [diff] [blame] | 20 | } |
| 21 | |
| 22 | U_BOOT_CMD( |
| 23 | help, CONFIG_SYS_MAXARGS, 1, do_help, |
Peter Tyser | 4e1ca93 | 2009-10-16 17:36:26 -0500 | [diff] [blame] | 24 | "print command description/usage", |
| 25 | "\n" |
| 26 | " - print brief description of all commands\n" |
| 27 | "help command ...\n" |
| 28 | " - print detailed usage of 'command'" |
Peter Tyser | 6b8f5ad | 2009-10-16 17:36:25 -0500 | [diff] [blame] | 29 | ); |
| 30 | |
Andrej Rosano | 81b1158 | 2019-07-29 09:24:53 +0200 | [diff] [blame] | 31 | #ifdef CONFIG_CMDLINE |
Peter Tyser | 6b8f5ad | 2009-10-16 17:36:25 -0500 | [diff] [blame] | 32 | /* This does not use the U_BOOT_CMD macro as ? can't be used in symbol names */ |
Simon Glass | 0914011 | 2020-05-10 11:40:03 -0600 | [diff] [blame] | 33 | ll_entry_declare(struct cmd_tbl, question_mark, cmd) = { |
Boris Brezillon | 80a48dd | 2018-12-03 22:54:20 +0100 | [diff] [blame] | 34 | "?", CONFIG_SYS_MAXARGS, cmd_always_repeatable, do_help, |
Peter Tyser | 6b8f5ad | 2009-10-16 17:36:25 -0500 | [diff] [blame] | 35 | "alias for 'help'", |
Peter Tyser | 4e1ca93 | 2009-10-16 17:36:26 -0500 | [diff] [blame] | 36 | #ifdef CONFIG_SYS_LONGHELP |
Peter Tyser | 6b8f5ad | 2009-10-16 17:36:25 -0500 | [diff] [blame] | 37 | "" |
Peter Tyser | 6b8f5ad | 2009-10-16 17:36:25 -0500 | [diff] [blame] | 38 | #endif /* CONFIG_SYS_LONGHELP */ |
Peter Tyser | 4e1ca93 | 2009-10-16 17:36:26 -0500 | [diff] [blame] | 39 | }; |
Andrej Rosano | 81b1158 | 2019-07-29 09:24:53 +0200 | [diff] [blame] | 40 | #endif |