[U-Boot] [PATCH v1 1/2] dm: usb: udc: Use SEQ_ALIAS to index the USB gadget ports
Jean-Jacques Hiblot
jjhiblot at ti.com
Sat Dec 15 16:43:27 UTC 2018
dfu, fastbot and other usb gadget commands take the USB port index as a
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).
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,
};
--
2.7.4
More information about the U-Boot
mailing list