[PATCH] [FS] Print error message for unknown device type

Simon Glass sjg at chromium.org
Thu Jan 30 03:16:47 CET 2020


Hi,

On Fri, 24 Jan 2020 at 06:21, Wolfgang Denk <wd at denx.de> wrote:
>
> Hello Simon,
>
> ping...
>
> In message <20200122121253.7B0B3240638 at gemini.denx.de> I wrote:
> > Dear Heiko,
> >
> > In message <3546d28c-f638-5357-a20f-5d03db762be0 at denx.de> you wrote:
> > >
> > > > File system commands like "ls" etc. require a device type parameter.
> > > > If an unknown type is specified, they return an error code but no
> > > > visible feedback to the user:
> > > >
> > > >   -> ls FOOBAR 1:1 /
> > > >   ->
> > > >
> > > > Add an error message to make clear what happens, and why.
> > > >
> > > > Signed-off-by: Wolfgang Denk <wd at denx.de>
> > > > ---
> > > >   disk/part.c | 4 +++-
> > > >   1 file changed, 3 insertions(+), 1 deletion(-)
> > >
> > > Tested on wandboard.
> > >
> > > Tested-by: Heiko Schocher <hs at denx.de>
> >
> > Thanks for testing.
> >
> > > > - if (dev < 0)
> > > > + if (dev < 0) {
> > > > +         printf("** Unknown device type %s **\n", ifname);
> > > >                   goto cleanup;
> > > > + }

Reviewed-by: Simon Glass <sjg at chromium.org>

> > >
> > > It would be nice to have here a list of supported devices, so a user
> > > can see what are valid arguments for ifname.

There are two functions involved here, since we still support non-DM
block devices. The function called is blk_get_devnum_by_typename(),
with two implementations.

So we would need two different implementations to read the list of devices:

- blk_get_devnum_by_typename() has a uclass_foreach_dev() loop
- blk_driver_lookup_typename() shows how to iterate through the legacy
block devices

> >
> > Yes, you are absolutely right.  I aready thought about this, but I
> > have to admit that I got stuck in the code; there are several
> > complexities - code for example for blk_driver_lookup_typename()
> > is duplicated both in drivers/block/blk_legacy.c   and in
> > drivers/block/blk-uclass.c;  I was not able to find any exported
> > interface that actually allows to get a list of supported device
> > drivers, and the things I tried all looked really ugly to me.
> >
> > Adding Simon to Cc: - he has designed and written all this code and
> > should know better.
> >
> > Simon, what would be a clean and elegant approach to get such a list
> > of supported drivers ?
> >
> >
> > In any case I recommend to accept this patch as is; this other thing
> > is additional information that can /should get added later in a
> > spearate patch.

Regards,
Simon


More information about the U-Boot mailing list