From: Roosen Henri Date: Thu, 7 Jan 2016 08:31:15 +0000 (+0100) Subject: phy: micrel: Fix finding PHY properties in MAC node for KSZ9031. X-Git-Tag: v4.9.8~2870^2~38 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b4c19f71252e3b6b8c6478fd712c592f00b11438;p=platform%2Fkernel%2Flinux-rpi3.git phy: micrel: Fix finding PHY properties in MAC node for KSZ9031. Commit 651df2183543 ("phy: micrel: Fix finding PHY properties in MAC node.") only fixes finding PHY properties in MAC node for KSZ9021. This commit applies the same fix for KSZ9031. Fixes: 8b63ec1837fa ("phylib: Make PHYs children of their MDIO bus, not the bus' parent.") Acked-by: Andrew Lunn Signed-off-by: Henri Roosen Signed-off-by: David S. Miller --- diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c index e13ad6c..7a56799 100644 --- a/drivers/net/phy/micrel.c +++ b/drivers/net/phy/micrel.c @@ -470,9 +470,17 @@ static int ksz9031_config_init(struct phy_device *phydev) "txd2-skew-ps", "txd3-skew-ps" }; static const char *control_skews[2] = {"txen-skew-ps", "rxdv-skew-ps"}; + const struct device *dev_walker; - if (!of_node && dev->parent->of_node) - of_node = dev->parent->of_node; + /* The Micrel driver has a deprecated option to place phy OF + * properties in the MAC node. Walk up the tree of devices to + * find a device with an OF node. + */ + dev_walker = &phydev->dev; + do { + of_node = dev_walker->of_node; + dev_walker = dev_walker->parent; + } while (!of_node && dev_walker); if (of_node) { ksz9031_of_load_skew_values(phydev, of_node,