Commit 82363cf2 authored by Linus Walleij's avatar Linus Walleij Committed by Felipe Balbi

usb: musb: ux500: don't propagate the OF node

There is a regression in the upcoming v3.16-rc1, that is caused
by a problem that has been around for a while but now finally
hangs the system. The bootcrawl looks like this:

pinctrl-nomadik soc:pinctrl: pin GPIO256_AF28 already
requested by a03e0000.usb_per5; cannot claim for
pinctrl-nomadik soc:pinctrl: pin-256 ( status -22
pinctrl-nomadik soc:pinctrl: could not request pin 256
(GPIO256_AF28) from group usb_a_1  on device pinctrl-nomadik
musb-hdrc Error applying setting, reverse
things back
HS USB OTG: no transceiver configured
musb-hdrc musb_init_controller failed
with status -517
platform Driver musb-hdrc requests
probe deferral

The ux500 MUSB driver propagates the OF node to the dynamically
created musb-hdrc device, which is incorrect as it makes the OF
core believe there are two devices spun from the very same
DT node, which confuses other parts of the device core, notably
the pin control subsystem, which will try to apply all the pin
control settings also to the HDRC device as it gets
instantiated. (The OMAP2430 for example, does not set the
of_node member.)

Cc: <>
Cc: Arnd Bergmann <>
Acked-by: default avatarLee Jones <>
Signed-off-by: default avatarLinus Walleij <>
Signed-off-by: default avatarFelipe Balbi <>
parent 3fe15505
......@@ -274,7 +274,6 @@ static int ux500_probe(struct platform_device *pdev)
musb->dev.parent = &pdev->dev;
musb->dev.dma_mask = &pdev->dev.coherent_dma_mask;
musb->dev.coherent_dma_mask = pdev->dev.coherent_dma_mask;
musb->dev.of_node = pdev->dev.of_node;
glue->dev = &pdev->dev;
glue->musb = musb;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment