[PATCH v2 3/3] cmd: rng: Add rng list command

Heinrich Schuchardt xypron.glpk at gmx.de
Wed Jan 31 13:36:45 CET 2024


On 31.01.24 12:12, Weizhao Ouyang wrote:
> The 'rng list' command probes all RNG devices and list those devices
> that are successfully probed. Also update the help info.
>
> Signed-off-by: Weizhao Ouyang <o451686892 at gmail.com>
> ---
> v2: update commit message and rng help info

Thanks for updating.

Reviewed-by: Heinrich Schuchardt <xypron.glpk at gmx.de>

> ---
>   cmd/rng.c | 23 ++++++++++++++++++-----
>   1 file changed, 18 insertions(+), 5 deletions(-)
>
> diff --git a/cmd/rng.c b/cmd/rng.c
> index 52f722c7af..b073a6c849 100644
> --- a/cmd/rng.c
> +++ b/cmd/rng.c
> @@ -19,6 +19,22 @@ static int do_rng(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
>   	struct udevice *dev;
>   	int ret = CMD_RET_SUCCESS;
>
> +	if (argc == 2 && !strcmp(argv[1], "list")) {
> +		int idx = 0;
> +
> +		uclass_foreach_dev_probe(UCLASS_RNG, dev) {
> +			idx++;
> +			printf("RNG #%d - %s\n", dev->seq_, dev->name);
> +		}
> +
> +		if (!idx) {
> +			log_err("No RNG device\n");
> +			return CMD_RET_FAILURE;
> +		}
> +
> +		return CMD_RET_SUCCESS;
> +	}
> +
>   	switch (argc) {
>   	case 1:
>   		devnum = 0;
> @@ -56,12 +72,9 @@ static int do_rng(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
>   	return ret;
>   }
>
> -U_BOOT_LONGHELP(rng,
> -	"[dev [n]]\n"
> -	"  - print n random bytes(max 64) read from dev\n");
> -
>   U_BOOT_CMD(
>   	rng, 3, 0, do_rng,
>   	"print bytes from the hardware random number generator",
> -	rng_help_text
> +	"list         - list all the probed rng devices\n"
> +	"rng [dev] [n]    - print n random bytes(max 64) read from dev\n"
>   );



More information about the U-Boot mailing list