Convert to plain udevice interaction with UDC controller
device, avoid the use of UDC uclass dev_array .

Reviewed-by: Mattijs Korpershoek <mkorpersh...@baylibre.com>
Tested-by: Mattijs Korpershoek <mkorpersh...@baylibre.com> # on khadas vim3
Signed-off-by: Marek Vasut <ma...@denx.de>
---
Cc: Angus Ainslie <an...@akkea.ca>
Cc: Dmitrii Merkurev <dimori...@google.com>
Cc: Eddie Cai <eddie.cai.li...@gmail.com>
Cc: Kever Yang <kever.y...@rock-chips.com>
Cc: Lukasz Majewski <lu...@denx.de>
Cc: Miquel Raynal <miquel.ray...@bootlin.com>
Cc: Mattijs Korpershoek <mkorpersh...@baylibre.com>
Cc: Nishanth Menon <n...@ti.com>
Cc: Patrice Chotard <patrice.chot...@foss.st.com>
Cc: Patrick Delaunay <patrick.delau...@foss.st.com>
Cc: Philipp Tomsich <philipp.toms...@vrull.eu>
Cc: Simon Glass <s...@chromium.org>
Cc: Stefan Roese <s...@denx.de>
Cc: ker...@puri.sm
---
V2: Add RB, TB from Mattijs
---
 cmd/fastboot.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/cmd/fastboot.c b/cmd/fastboot.c
index 3d5ff951eb6..17fb0a0aa7b 100644
--- a/cmd/fastboot.c
+++ b/cmd/fastboot.c
@@ -61,6 +61,7 @@ static int do_fastboot_usb(int argc, char *const argv[],
 {
        int controller_index;
        char *usb_controller;
+       struct udevice *udc;
        char *endp;
        int ret;
 
@@ -79,7 +80,7 @@ static int do_fastboot_usb(int argc, char *const argv[],
                return CMD_RET_FAILURE;
        }
 
-       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);
                return CMD_RET_FAILURE;
@@ -103,13 +104,13 @@ static int do_fastboot_usb(int argc, char *const argv[],
                if (ctrlc())
                        break;
                schedule();
-               usb_gadget_handle_interrupts(controller_index);
+               dm_usb_gadget_handle_interrupts(udc);
        }
 
        ret = CMD_RET_SUCCESS;
 
 exit:
-       usb_gadget_release(controller_index);
+       udc_device_put(udc);
        g_dnl_unregister();
        g_dnl_clear_detach();
 
-- 
2.40.1

Reply via email to