public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Marek Vasut <marex@denx.de>
To: u-boot@lists.denx.de
Cc: Marek Vasut <marex@denx.de>,
	Mattijs Korpershoek <mkorpershoek@baylibre.com>,
	Angus Ainslie <angus@akkea.ca>,
	Dmitrii Merkurev <dimorinny@google.com>,
	Eddie Cai <eddie.cai.linux@gmail.com>,
	Kever Yang <kever.yang@rock-chips.com>,
	Lukasz Majewski <lukma@denx.de>,
	Miquel Raynal <miquel.raynal@bootlin.com>,
	Nishanth Menon <nm@ti.com>,
	Patrice Chotard <patrice.chotard@foss.st.com>,
	Patrick Delaunay <patrick.delaunay@foss.st.com>,
	Philipp Tomsich <philipp.tomsich@vrull.eu>,
	Simon Glass <sjg@chromium.org>, Stefan Roese <sr@denx.de>,
	kernel@puri.sm
Subject: [PATCH v2 16/17] dm: usb: udc: Drop legacy udevice handler functions
Date: Fri,  1 Sep 2023 11:50:02 +0200	[thread overview]
Message-ID: <20230901095003.352930-16-marex@denx.de> (raw)
In-Reply-To: <20230901095003.352930-1-marex@denx.de>

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>
---
Cc: Angus Ainslie <angus@akkea.ca>
Cc: Dmitrii Merkurev <dimorinny@google.com>
Cc: Eddie Cai <eddie.cai.linux@gmail.com>
Cc: Kever Yang <kever.yang@rock-chips.com>
Cc: Lukasz Majewski <lukma@denx.de>
Cc: Miquel Raynal <miquel.raynal@bootlin.com>
Cc: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Cc: Nishanth Menon <nm@ti.com>
Cc: Patrice Chotard <patrice.chotard@foss.st.com>
Cc: Patrick Delaunay <patrick.delaunay@foss.st.com>
Cc: Philipp Tomsich <philipp.tomsich@vrull.eu>
Cc: Simon Glass <sjg@chromium.org>
Cc: Stefan Roese <sr@denx.de>
Cc: kernel@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


  parent reply	other threads:[~2023-09-01  9:52 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-01  9:49 [PATCH v2 01/17] dm: usb: udc: Factor out plain udevice handler functions Marek Vasut
2023-09-01  9:49 ` [PATCH v2 02/17] usb: sandbox: Add DM_USB_GADGET support Marek Vasut
2023-09-01  9:49 ` [PATCH v2 03/17] configs: sandbox: Enable DM_USB_GADGET Marek Vasut
2023-09-01  9:49 ` [PATCH v2 04/17] cmd: fastboot: Use plain udevice for UDC controller interaction Marek Vasut
2023-09-01  9:49 ` [PATCH v2 05/17] cmd: rockusb: " Marek Vasut
2023-09-04  7:37   ` Mattijs Korpershoek
2023-09-01  9:49 ` [PATCH v2 06/17] cmd: sdp: Reorder variable declaration Marek Vasut
2023-09-01  9:49 ` [PATCH v2 07/17] cmd: thordown: " Marek Vasut
2023-09-04  7:40   ` Mattijs Korpershoek
2023-09-01  9:49 ` [PATCH v2 08/17] cmd: ums: Use plain udevice for UDC controller interaction Marek Vasut
2023-09-01  9:49 ` [PATCH v2 09/17] dfu: Detach the controller on error Marek Vasut
2023-09-01  9:49 ` [PATCH v2 10/17] dfu: Use plain udevice for UDC controller interaction Marek Vasut
2023-09-01  9:49 ` [PATCH v2 11/17] spl: sdp: Detach the controller on error Marek Vasut
2023-09-01  9:49 ` [PATCH v2 12/17] sdp: Use plain udevice for UDC controller interaction Marek Vasut
2023-09-01  9:49 ` [PATCH v2 13/17] thordown: " Marek Vasut
2023-09-04  7:45   ` Mattijs Korpershoek
2023-09-01  9:50 ` [PATCH v2 14/17] usb: gadget: acm: " Marek Vasut
2023-09-04  7:46   ` Mattijs Korpershoek
2023-09-01  9:50 ` [PATCH v2 15/17] usb: gadget: ether: " Marek Vasut
2023-09-04  7:56   ` Mattijs Korpershoek
2023-09-04  9:10     ` Marek Vasut
2023-09-04 15:37       ` Mattijs Korpershoek
2023-09-01  9:50 ` Marek Vasut [this message]
2023-09-01  9:50 ` [PATCH v2 17/17] board: usb: Replace legacy usb_gadget_handle_interrupts() Marek Vasut
2023-09-22 10:00 ` [PATCH v2 01/17] dm: usb: udc: Factor out plain udevice handler functions Miquel Raynal
2023-09-27 13:59   ` Miquel Raynal
2023-09-30 21:11     ` Marek Vasut
2023-10-02 13:42       ` Miquel Raynal
2023-10-07 21:01         ` Marek Vasut

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230901095003.352930-16-marex@denx.de \
    --to=marex@denx.de \
    --cc=angus@akkea.ca \
    --cc=dimorinny@google.com \
    --cc=eddie.cai.linux@gmail.com \
    --cc=kernel@puri.sm \
    --cc=kever.yang@rock-chips.com \
    --cc=lukma@denx.de \
    --cc=miquel.raynal@bootlin.com \
    --cc=mkorpershoek@baylibre.com \
    --cc=nm@ti.com \
    --cc=patrice.chotard@foss.st.com \
    --cc=patrick.delaunay@foss.st.com \
    --cc=philipp.tomsich@vrull.eu \
    --cc=sjg@chromium.org \
    --cc=sr@denx.de \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox