UPSTREAM: usb: udc-uclass: Fixed problem when no alias is defined in DT

commit 801f1fa442 "dm: usb: udc: Use SEQ_ALIAS to index the USB gadget
ports" changed the way the udevice if found. It uses the alias to find
a udevice for a given USB port number. In the commit log it was stated
that if no alias is provided, the bind order will be used instead. However
it doesn't work. Fixing this by adding a call to uclass_get_device() if
uclass_get_device_by_seq() fails.

Change-Id: Ib2304c5ecd5d46089c3273ca3ecaa3f9eb5399f8
Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Tested-by: Vignesh R <vigneshr@ti.com>
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
(cherry picked from commit e81d9de531fb4c7f14344736bd7568c954e64e14)
This commit is contained in:
Jean-Jacques Hiblot 2019-01-24 15:44:53 +01:00 committed by Frank Wang
parent 8a4a81a148
commit 95dc2be99c
1 changed files with 5 additions and 2 deletions

View File

@ -23,8 +23,11 @@ int usb_gadget_initialize(int index)
return 0;
ret = uclass_get_device_by_seq(UCLASS_USB_GADGET_GENERIC, index, &dev);
if (!dev || ret) {
pr_err("No USB device found\n");
return -ENODEV;
ret = uclass_get_device(UCLASS_USB_GADGET_GENERIC, index, &dev);
if (!dev || ret) {
pr_err("No USB device found\n");
return -ENODEV;
}
}
dev_array[index] = dev;
return 0;