1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Copyright 2000-2009
4 * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
5 */
6
7#include <common.h>
8#include <command.h>
9
10static int do_help(struct cmd_tbl *cmdtp, int flag, int argc,
11		   char *const argv[])
12{
13#ifdef CONFIG_CMDLINE
14	struct cmd_tbl *start = ll_entry_start(struct cmd_tbl, cmd);
15	const int len = ll_entry_count(struct cmd_tbl, cmd);
16	return _do_help(start, len, cmdtp, flag, argc, argv);
17#else
18	return 0;
19#endif
20}
21
22U_BOOT_CMD(
23	help,	CONFIG_SYS_MAXARGS,	1,	do_help,
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'"
29);
30
31#ifdef CONFIG_CMDLINE
32/*
33 * This does not use the U_BOOT_CMD macro as ? can't be used in symbol names
34 * nor can we rely on the CONFIG_SYS_LONGHELP helper macro
35 */
36ll_entry_declare(struct cmd_tbl, question_mark, cmd) = {
37	"?",	CONFIG_SYS_MAXARGS, cmd_always_repeatable,	do_help,
38	"alias for 'help'",
39#ifdef  CONFIG_SYS_LONGHELP
40	""
41#endif /* CONFIG_SYS_LONGHELP */
42};
43#endif
44