net: designware: look for a child device node for MDIO bus
The Designware driver registers a local MDIO bus for each MAC device,
but without setting a device node pointer for the MDIO bus device.  In
this case, mdiobus_register() will use the MDIO bus's parent device node
(if any) as the MDIO device node.

If the MAC device node has a child node compatible with
"snps,dwmac-mdio", let us use that as the MDIO bus device node.
Otherwise, leave the MDIO bus device node pointer set to NULL and carry
on as before.

The upshot is that PHY device nodes can now be placed in an intermediate
node for the MDIO bus instead of having to place them directly in the
Designware MAC device node.

(Tested on a Terasic DE0-Nano-SoC with a suitably modified device tree.)

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
1 parent c54304e commit a2566675bda879de505b04206f5eeaa85f574446
@Ian Abbott Ian Abbott authored on 1 Nov 2018
Sascha Hauer committed on 2 Nov 2018
Showing 1 changed file
View
drivers/net/designware.c