[U-Boot] [PATCH v1 1/2] dm: usb: udc: Use SEQ_ALIAS to index the USB gadget ports

Sam Protsenko semen.protsenko at linaro.org
Thu Jan 3 15:47:26 UTC 2019


Tested on BeagleBoard X15, works fine. Thanks, Jean-Jacques!

Lukasz, is there any way this series can make it to v2019.01 release?
Like to see it there, for stability/consistence reasons.

Reviewed-by: Sam Protsenko <semen.protsenko at linaro.org>
Tested-by: Sam Protsenko <semen.protsenko at linaro.org>

Thanks!

On Sun, Dec 16, 2018 at 10:47 PM Lukasz Majewski <lukma at denx.de> wrote:
>
> Hi Marek, Jean-Jacques,
>
> > On 12/15/2018 05:43 PM, Jean-Jacques Hiblot wrote:
> > > dfu, fastbot and other usb gadget commands take the USB port index
> > > as a
> >
> > fastboot.
> >
> > Looks good to me, I expect Lukasz to pick it, test it and send me a
> > PR.
> >
> > > parameter. Currently this index is assigned in the order of the
> > > driver bindings.
> > > Changing this behavior using the SEQ_ALIAS feature. This option
> > > assign to the device a SEQ number based on its alias (if it exists)
> > >
> > > To use it we must set the DM_UC_FLAG_SEQ_ALIAS flag and follow the
> > > existing naming convention: use "usb" for the name of the gadget
> > > UCLASS_DRIVER (same as for the UCLASS_USB).
>
> I must admit that this change fixes a long standing problem with the
> usb number assignment.
>
> Great job. I will test and send it in a few days time.
>
> > >
> > > If no alias is provided, then the index falls back to the order in
> > > which the bindings took place.
> > >
> > > Signed-off-by: Jean-Jacques Hiblot <jjhiblot at ti.com>
> > > Reported-by: Sam Protsenko <semen.protsenko at linaro.org>
> > > ---
> > >
> > >  drivers/usb/gadget/udc/udc-uclass.c | 5 +++--
> > >  1 file changed, 3 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/drivers/usb/gadget/udc/udc-uclass.c
> > > b/drivers/usb/gadget/udc/udc-uclass.c index 0620518..e9f8f5f 100644
> > > --- a/drivers/usb/gadget/udc/udc-uclass.c
> > > +++ b/drivers/usb/gadget/udc/udc-uclass.c
> > > @@ -20,7 +20,7 @@ int usb_gadget_initialize(int index)
> > >             return -EINVAL;
> > >     if (dev_array[index])
> > >             return 0;
> > > -   ret = uclass_get_device(UCLASS_USB_GADGET_GENERIC, index,
> > > &dev);
> > > +   ret = uclass_get_device_by_seq(UCLASS_USB_GADGET_GENERIC,
> > > index, &dev); if (!dev || ret) {
> > >             pr_err("No USB device found\n");
> > >             return -ENODEV;
> > > @@ -54,5 +54,6 @@ int usb_gadget_handle_interrupts(int index)
> > >
> > >  UCLASS_DRIVER(usb_gadget_generic) = {
> > >     .id             = UCLASS_USB_GADGET_GENERIC,
> > > -   .name           = "usb_gadget_generic",
> > > +   .name           = "usb",
> > > +   .flags          = DM_UC_FLAG_SEQ_ALIAS,
> > >  };
> > >
> >
> >
>
>
>
>
> Best regards,
>
> Lukasz Majewski
>
> --
>
> DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma at denx.de


More information about the U-Boot mailing list