summaryrefslogtreecommitdiffstats
path: root/drivers/net/designware.c
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2018-11-09 10:55:04 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2018-11-09 10:55:04 +0100
commitb2cc1d18f57f8af42347a4b7a05afcc7e3e6d66d (patch)
treec7bf18bd3f6eef491dd62d383f836e4536c811cb /drivers/net/designware.c
parentac9c1beb361e3c71e0b9b59d38e5022f12c263c6 (diff)
parent459bf1fd31da2c091c6c1e3a7e0f6a1b1cbf588b (diff)
downloadbarebox-b2cc1d18f57f8af42347a4b7a05afcc7e3e6d66d.tar.gz
Merge branch 'for-next/misc'
Diffstat (limited to 'drivers/net/designware.c')
-rw-r--r--drivers/net/designware.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/designware.c b/drivers/net/designware.c
index 49ddaa2..58880b0 100644
--- a/drivers/net/designware.c
+++ b/drivers/net/designware.c
@@ -408,12 +408,22 @@ static void dwc_version(struct device_d *dev, u32 hwid)
static int dwc_probe_dt(struct device_d *dev, struct dw_eth_dev *priv)
{
+ struct device_node *child;
+
if (!IS_ENABLED(CONFIG_OFTREE))
return -ENODEV;
priv->phy_addr = -1;
priv->interface = of_get_phy_mode(dev->device_node);
+ /* Set MDIO bus device node, if present. */
+ for_each_child_of_node(dev->device_node, child) {
+ if (of_device_is_compatible(child, "snps,dwmac-mdio")) {
+ priv->miibus.dev.device_node = child;
+ break;
+ }
+ }
+
return 0;
}