diff options
| author | Marek Vasut <marex@denx.de> | 2023-09-01 11:50:02 +0200 | 
|---|---|---|
| committer | Marek Vasut <marex@denx.de> | 2023-09-15 23:38:02 +0200 | 
| commit | 890076d20e618d06d0bf215018764e2352335860 (patch) | |
| tree | ac7b1e3daabf3079dbab092ce3e1bf7fd6f80337 | |
| parent | bfa352d1cbdf2e8f84919b2894ebf524a8ef768c (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>
| -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 */ | 
