* [PATCH] USB: gadget: stop propagating controller OF nodes
@ 2026-07-02 14:53 Johan Hovold
0 siblings, 0 replies; only message in thread
From: Johan Hovold @ 2026-07-02 14:53 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: Rob Herring, linux-usb, linux-kernel, Johan Hovold
Some UDC drivers propagate the controller OF node to the gadget device
but there are no (and has never been any) users of this as the
devicetree binding and composite driver support was never merged. [1]
Drop the unused and incomplete support for OF node propagation which if
ever needed should be handled by UDC core.
Note that this also avoids probe failures when reusing an OF node that
describe resources like pinctrl that are managed by driver core (cf.
commit 48ed32482c41 ("usb: gadget: aspeed: Fix probe regression")).
Link: https://lore.kernel.org/all/1340720833-781-1-git-send-email-aletes.xgr@gmail.com/ [1]
Signed-off-by: Johan Hovold <johan@kernel.org>
---
This was something I stumbled over when fixing a couple of gadget device
name leaks. This one applies on top of those fixes:
https://lore.kernel.org/all/20260702141536.90887-1-johan@kernel.org/
Johan
drivers/usb/gadget/udc/aspeed-vhub/dev.c | 2 --
drivers/usb/gadget/udc/aspeed_udc.c | 1 -
drivers/usb/gadget/udc/at91_udc.c | 1 -
drivers/usb/gadget/udc/bcm63xx_udc.c | 1 -
drivers/usb/gadget/udc/fsl_udc_core.c | 3 ---
drivers/usb/gadget/udc/lpc32xx_udc.c | 1 -
6 files changed, 9 deletions(-)
diff --git a/drivers/usb/gadget/udc/aspeed-vhub/dev.c b/drivers/usb/gadget/udc/aspeed-vhub/dev.c
index 8b9449d16324..0dccdbfd6aef 100644
--- a/drivers/usb/gadget/udc/aspeed-vhub/dev.c
+++ b/drivers/usb/gadget/udc/aspeed-vhub/dev.c
@@ -592,8 +592,6 @@ int ast_vhub_init_dev(struct ast_vhub *vhub, unsigned int idx)
else
d->gadget.max_speed = USB_SPEED_HIGH;
d->gadget.speed = USB_SPEED_UNKNOWN;
- d->gadget.dev.of_node = vhub->pdev->dev.of_node;
- dev_set_of_node_reused(&d->gadget.dev);
rc = usb_add_gadget_udc(d->port_dev, &d->gadget);
if (rc != 0)
diff --git a/drivers/usb/gadget/udc/aspeed_udc.c b/drivers/usb/gadget/udc/aspeed_udc.c
index 75f9c831b21a..09776a5e224f 100644
--- a/drivers/usb/gadget/udc/aspeed_udc.c
+++ b/drivers/usb/gadget/udc/aspeed_udc.c
@@ -1299,7 +1299,6 @@ static int ast_udc_start(struct usb_gadget *gadget,
UDC_DBG(udc, "\n");
udc->driver = driver;
- udc->gadget.dev.of_node = udc->pdev->dev.of_node;
for (i = 0; i < AST_UDC_NUM_ENDPOINTS; i++) {
ep = &udc->ep[i];
diff --git a/drivers/usb/gadget/udc/at91_udc.c b/drivers/usb/gadget/udc/at91_udc.c
index 5aa360ba4f03..de8083986942 100644
--- a/drivers/usb/gadget/udc/at91_udc.c
+++ b/drivers/usb/gadget/udc/at91_udc.c
@@ -1558,7 +1558,6 @@ static int at91_start(struct usb_gadget *gadget,
udc = container_of(gadget, struct at91_udc, gadget);
udc->driver = driver;
- udc->gadget.dev.of_node = udc->pdev->dev.of_node;
udc->enabled = 1;
udc->gadget.is_selfpowered = 1;
diff --git a/drivers/usb/gadget/udc/bcm63xx_udc.c b/drivers/usb/gadget/udc/bcm63xx_udc.c
index c4f9ea45bdbb..ba91b1ebbf57 100644
--- a/drivers/usb/gadget/udc/bcm63xx_udc.c
+++ b/drivers/usb/gadget/udc/bcm63xx_udc.c
@@ -1830,7 +1830,6 @@ static int bcm63xx_udc_start(struct usb_gadget *gadget,
bcm63xx_select_phy_mode(udc, true);
udc->driver = driver;
- udc->gadget.dev.of_node = udc->dev->of_node;
spin_unlock_irqrestore(&udc->lock, flags);
diff --git a/drivers/usb/gadget/udc/fsl_udc_core.c b/drivers/usb/gadget/udc/fsl_udc_core.c
index 20392409afb1..878d70b55530 100644
--- a/drivers/usb/gadget/udc/fsl_udc_core.c
+++ b/drivers/usb/gadget/udc/fsl_udc_core.c
@@ -2465,9 +2465,6 @@ static int fsl_udc_probe(struct platform_device *pdev)
udc_controller->gadget.speed = USB_SPEED_UNKNOWN;
udc_controller->gadget.name = driver_name;
- /* Setup gadget.dev and register with kernel */
- udc_controller->gadget.dev.of_node = pdev->dev.of_node;
-
if (!IS_ERR_OR_NULL(udc_controller->transceiver))
udc_controller->gadget.is_otg = 1;
diff --git a/drivers/usb/gadget/udc/lpc32xx_udc.c b/drivers/usb/gadget/udc/lpc32xx_udc.c
index 044c31869cfb..35cf44025559 100644
--- a/drivers/usb/gadget/udc/lpc32xx_udc.c
+++ b/drivers/usb/gadget/udc/lpc32xx_udc.c
@@ -2889,7 +2889,6 @@ static int lpc32xx_start(struct usb_gadget *gadget,
}
udc->driver = driver;
- udc->gadget.dev.of_node = udc->dev->of_node;
udc->enabled = 1;
udc->gadget.is_selfpowered = 1;
udc->vbus = 0;
--
2.53.0
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-07-02 14:54 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-02 14:53 [PATCH] USB: gadget: stop propagating controller OF nodes Johan Hovold
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox