diff options
-rw-r--r-- | drivers/usb/gadget/udc/udc-uclass.c | 44 | ||||
-rw-r--r-- | include/linux/usb/gadget.h | 17 |
2 files changed, 6 insertions, 55 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 */ diff --git a/include/linux/usb/gadget.h b/include/linux/usb/gadget.h index 3ef41e89fef..699c32bf279 100644 --- a/include/linux/usb/gadget.h +++ b/include/linux/usb/gadget.h @@ -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 */ |