]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
dm: usb: udc: Drop legacy udevice handler functions
authorMarek Vasut <marex@denx.de>
Fri, 1 Sep 2023 09:50:02 +0000 (11:50 +0200)
committerMarek Vasut <marex@denx.de>
Fri, 15 Sep 2023 21:38:02 +0000 (23:38 +0200)
Remove legacy functions limited by the dev_array array,
those are no longer used anywhere, all the code uses
plain udevice based access now.

The usb_gadget_handle_interrupts() is doing udevice look up
until all call sites use dm_usb_gadget_handle_interrupts().

Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Signed-off-by: Marek Vasut <marex@denx.de>
drivers/usb/gadget/udc/udc-uclass.c
include/linux/usb/gadget.h

index b4271b4be9f31a380299f571bf1a134ffb83516e..7f54a3b00cb436113e83df8934d687a082a3f77c 100644 (file)
@@ -12,9 +12,6 @@
 #include <linux/usb/gadget.h>
 
 #if CONFIG_IS_ENABLED(DM_USB_GADGET)
-#define MAX_UDC_DEVICES 4
-static struct udevice *dev_array[MAX_UDC_DEVICES];
-
 int udc_device_get_by_index(int index, struct udevice **udev)
 {
        struct udevice *dev = NULL;
@@ -45,45 +42,16 @@ int udc_device_put(struct udevice *udev)
 #endif
 }
 
-int usb_gadget_initialize(int index)
-{
-       int ret;
-       struct udevice *dev = NULL;
-
-       if (index < 0 || index >= ARRAY_SIZE(dev_array))
-               return -EINVAL;
-       if (dev_array[index])
-               return 0;
-       ret = udc_device_get_by_index(index, &dev);
-       if (!dev || ret) {
-               pr_err("No USB device found\n");
-               return -ENODEV;
-       }
-       dev_array[index] = dev;
-       return 0;
-}
-
-int usb_gadget_release(int index)
+int usb_gadget_handle_interrupts(int index)
 {
-#if CONFIG_IS_ENABLED(DM_DEVICE_REMOVE)
+       struct udevice *udc;
        int ret;
-       if (index < 0 || index >= ARRAY_SIZE(dev_array))
-               return -EINVAL;
 
-       ret = device_remove(dev_array[index]);
-       if (!ret)
-               dev_array[index] = NULL;
-       return ret;
-#else
-       return -ENOSYS;
-#endif
-}
+       ret = udc_device_get_by_index(index, &udc);
+       if (ret)
+               return ret;
 
-int usb_gadget_handle_interrupts(int index)
-{
-       if (index < 0 || index >= ARRAY_SIZE(dev_array))
-               return -EINVAL;
-       return dm_usb_gadget_handle_interrupts(dev_array[index]);
+       return dm_usb_gadget_handle_interrupts(udc);
 }
 #else
 /* Backwards hardware compatibility -- switch to DM_USB_GADGET */
index 3ef41e89fefb6ca496de1a8e59f278d3025b98dd..699c32bf27917b56e43bda60e24970d2e722db04 100644 (file)
@@ -987,21 +987,4 @@ int udc_device_get_by_index(int index, struct udevice **udev);
  */
 int udc_device_put(struct udevice *udev);
 
-#if CONFIG_IS_ENABLED(DM_USB_GADGET)
-int usb_gadget_initialize(int index);
-int usb_gadget_release(int index);
-int dm_usb_gadget_handle_interrupts(struct udevice *dev);
-#else
-#include <usb.h>
-static inline int usb_gadget_initialize(int index)
-{
-       return board_usb_init(index, USB_INIT_DEVICE);
-}
-
-static inline int usb_gadget_release(int index)
-{
-       return board_usb_cleanup(index, USB_INIT_DEVICE);
-}
-#endif
-
 #endif /* __LINUX_USB_GADGET_H */