From a65295ddc2a10820fd855212be8a2271deff9657 Mon Sep 17 00:00:00 2001 From: Johan Hovold Date: Thu, 2 Jul 2026 16:53:50 +0200 Subject: USB: gadget: stop propagating controller OF nodes 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 Link: https://patch.msgid.link/20260702145350.109509-1-johan@kernel.org Signed-off-by: Greg Kroah-Hartman --- 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 08b24902c7b9..81fa495bbacd 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 8e5d7fb71549..0fccca187803 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; -- cgit v1.2.3