[PATCH v2 16/17] dm: usb: udc: Drop legacy udevice handler functions
Marek Vasut
marex at denx.de
Fri Sep 1 11:50:02 CEST 2023
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 at baylibre.com>
Signed-off-by: Marek Vasut <marex at denx.de>
---
Cc: Angus Ainslie <angus at akkea.ca>
Cc: Dmitrii Merkurev <dimorinny at google.com>
Cc: Eddie Cai <eddie.cai.linux at gmail.com>
Cc: Kever Yang <kever.yang at rock-chips.com>
Cc: Lukasz Majewski <lukma at denx.de>
Cc: Miquel Raynal <miquel.raynal at bootlin.com>
Cc: Mattijs Korpershoek <mkorpershoek at baylibre.com>
Cc: Nishanth Menon <nm at ti.com>
Cc: Patrice Chotard <patrice.chotard at foss.st.com>
Cc: Patrick Delaunay <patrick.delaunay at foss.st.com>
Cc: Philipp Tomsich <philipp.tomsich at vrull.eu>
Cc: Simon Glass <sjg at chromium.org>
Cc: Stefan Roese <sr at denx.de>
Cc: kernel at puri.sm
---
V2: Add RB from Mattijs
---
drivers/usb/gadget/udc/udc-uclass.c | 44 ++++-------------------------
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 5e9a6513d5b..54875d2716e 100644
--- a/include/linux/usb/gadget.h
+++ b/include/linux/usb/gadget.h
@@ -1023,21 +1023,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 */
--
2.40.1
More information about the U-Boot
mailing list