summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorMarek Vasut <marex@denx.de>2023-09-01 11:50:02 +0200
committerMarek Vasut <marex@denx.de>2023-09-15 23:38:02 +0200
commit890076d20e618d06d0bf215018764e2352335860 (patch)
treeac7b1e3daabf3079dbab092ce3e1bf7fd6f80337 /drivers
parentbfa352d1cbdf2e8f84919b2894ebf524a8ef768c (diff)
dm: usb: udc: Drop legacy udevice handler functions
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>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/usb/gadget/udc/udc-uclass.c44
1 files changed, 6 insertions, 38 deletions
diff --git a/drivers/usb/gadget/udc/udc-uclass.c b/drivers/usb/gadget/udc/udc-uclass.c
index b4271b4be9f..7f54a3b00cb 100644
--- a/drivers/usb/gadget/udc/udc-uclass.c
+++ b/drivers/usb/gadget/udc/udc-uclass.c
@@ -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 */