aboutsummaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
authorMarek Vasut <marex@denx.de>2023-09-01 11:49:59 +0200
committerMarek Vasut <marex@denx.de>2023-09-15 23:38:02 +0200
commit5b8c9d1b5838faa441477062dbb2889c1e33592a (patch)
treecbf92ff064038581031bc5da09b472cae9587802 /cmd
parent6b84acc978d39d2e46ddceab292ae67174c66b40 (diff)
downloadu-boot-5b8c9d1b5838faa441477062dbb2889c1e33592a.zip
u-boot-5b8c9d1b5838faa441477062dbb2889c1e33592a.tar.gz
u-boot-5b8c9d1b5838faa441477062dbb2889c1e33592a.tar.bz2
thordown: Use plain udevice for UDC controller interaction
Convert to plain udevice interaction with UDC controller device, avoid the use of UDC uclass dev_array . Signed-off-by: Marek Vasut <marex@denx.de> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Diffstat (limited to 'cmd')
-rw-r--r--cmd/thordown.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/cmd/thordown.c b/cmd/thordown.c
index 0d8dcee..fcfd38f 100644
--- a/cmd/thordown.c
+++ b/cmd/thordown.c
@@ -17,6 +17,7 @@ int do_thor_down(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
{
char *interface, *devstring;
int controller_index;
+ struct udevice *udc;
int ret;
if (argc < 4)
@@ -32,7 +33,7 @@ int do_thor_down(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
goto done;
controller_index = simple_strtoul(argv[1], NULL, 0);
- ret = usb_gadget_initialize(controller_index);
+ ret = udc_device_get_by_index(controller_index, &udc);
if (ret) {
pr_err("USB init failed: %d\n", ret);
ret = CMD_RET_FAILURE;
@@ -46,7 +47,7 @@ int do_thor_down(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
goto exit;
}
- ret = thor_init();
+ ret = thor_init(udc);
if (ret) {
pr_err("THOR DOWNLOAD failed: %d\n", ret);
ret = CMD_RET_FAILURE;
@@ -54,7 +55,7 @@ int do_thor_down(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
}
do {
- ret = thor_handle();
+ ret = thor_handle(udc);
if (ret == THOR_DFU_REINIT_NEEDED) {
dfu_free_entities();
ret = dfu_init_env_entities(interface, devstring);
@@ -67,7 +68,7 @@ int do_thor_down(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
} while (ret == 0);
exit:
g_dnl_unregister();
- usb_gadget_release(controller_index);
+ udc_device_put(udc);
done:
dfu_free_entities();