From: Lukasz Majewski Date: Sun, 16 Dec 2018 21:47:39 +0100 Subject: [U-Boot] [PATCH v1 1/2] dm: usb: udc: Use SEQ_ALIAS to index the USB gadget ports In-Reply-To: <69f87380-d2ab-bd1a-ccae-95071bb9eb77@denx.de> References: <1544892208-28852-1-git-send-email-jjhiblot@ti.com> <1544892208-28852-2-git-send-email-jjhiblot@ti.com> <69f87380-d2ab-bd1a-ccae-95071bb9eb77@denx.de> Message-ID: <20181216214739.47f99a8b@jawa> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 > > Reported-by: Sam Protsenko > > --- > > > > 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 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 488 bytes Desc: OpenPGP digital signature URL: