Reviewed-by: Igor Opaniuk <igor.opan...@foundries.io> On Wed, Jan 31, 2024 at 3:15 PM Weizhao Ouyang <o451686...@gmail.com> wrote: > > The 'rng list' command probes all RNG devices and list those devices > that are successfully probed. Also update the help info. > > Reviewed-by: Heinrich Schuchardt <xypron.g...@gmx.de> > Signed-off-by: Weizhao Ouyang <o451686...@gmail.com> > --- > 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" > ); > -- > 2.39.2 >
-- Best regards - Freundliche Grüsse - Meilleures salutations Igor Opaniuk Senior Software Engineer, Embedded & Security E: igor.opan...@foundries.io W: www.foundries.io