aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet
diff options
context:
space:
mode:
authorJohan Hovold <johan@kernel.org>2016-11-28 19:24:55 +0100
committerDavid S. Miller <davem@davemloft.net>2016-11-29 23:17:02 -0500
commit3f65047c853a2a5abcd8ac1984af3452b5df4ada (patch)
tree922554935869406027239cc62a6a904b339c6373 /drivers/net/ethernet
parentnet: dsa: slave: fix of-node leak and phy priority (diff)
downloadlinux-dev-3f65047c853a2a5abcd8ac1984af3452b5df4ada.tar.xz
linux-dev-3f65047c853a2a5abcd8ac1984af3452b5df4ada.zip
of_mdio: add helper to deregister fixed-link PHYs
Add helper to deregister fixed-link PHYs registered using of_phy_register_fixed_link(). Convert the two drivers that care to deregister their fixed-link PHYs to use the new helper, but note that most drivers currently fail to do so. Signed-off-by: Johan Hovold <johan@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet')
-rw-r--r--drivers/net/ethernet/ti/cpsw.c16
1 files changed, 2 insertions, 14 deletions
diff --git a/drivers/net/ethernet/ti/cpsw.c b/drivers/net/ethernet/ti/cpsw.c
index 58947aae31c7..9f0646512624 100644
--- a/drivers/net/ethernet/ti/cpsw.c
+++ b/drivers/net/ethernet/ti/cpsw.c
@@ -2459,20 +2459,8 @@ static void cpsw_remove_dt(struct platform_device *pdev)
if (strcmp(slave_node->name, "slave"))
continue;
- if (of_phy_is_fixed_link(slave_node)) {
- struct phy_device *phydev;
-
- phydev = of_phy_find_device(slave_node);
- if (phydev) {
- fixed_phy_unregister(phydev);
- /* Put references taken by
- * of_phy_find_device() and
- * of_phy_register_fixed_link().
- */
- phy_device_free(phydev);
- phy_device_free(phydev);
- }
- }
+ if (of_phy_is_fixed_link(slave_node))
+ of_phy_deregister_fixed_link(slave_node);
of_node_put(slave_data->phy_node);