On sam., août 19, 2023 at 16:24, Marek Vasut <ma...@denx.de> wrote: > 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(). > > Signed-off-by: Marek Vasut <ma...@denx.de> > --- > Cc: Angus Ainslie <an...@akkea.ca> > Cc: Dmitrii Merkurev <dimori...@google.com> > Cc: Eddie Cai <eddie.cai.li...@gmail.com> > Cc: Kever Yang <kever.y...@rock-chips.com> > Cc: Lukasz Majewski <lu...@denx.de> > Cc: Miquel Raynal <miquel.ray...@bootlin.com> > Cc: Mattijs Korpershoek <mkorpersh...@baylibre.com> > Cc: Nishanth Menon <n...@ti.com> > Cc: Patrice Chotard <patrice.chot...@foss.st.com> > Cc: Patrick Delaunay <patrick.delau...@foss.st.com> > Cc: Philipp Tomsich <philipp.toms...@vrull.eu> > Cc: Simon Glass <s...@chromium.org> > Cc: Stefan Roese <s...@denx.de> > Cc: ker...@puri.sm > --- > drivers/usb/gadget/udc/udc-uclass.c | 44 ++++------------------------- > include/linux/usb/gadget.h | 17 ----------- > 2 files changed, 6 insertions(+), 55 deletions(-)
Reviewed-by: Mattijs Korpershoek <mkorpersh...@baylibre.com> > > 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