diff options
author | 2016-11-28 19:24:55 +0100 | |
---|---|---|
committer | 2016-11-29 23:17:02 -0500 | |
commit | 3f65047c853a2a5abcd8ac1984af3452b5df4ada (patch) | |
tree | 922554935869406027239cc62a6a904b339c6373 /drivers/net | |
parent | net: dsa: slave: fix of-node leak and phy priority (diff) | |
download | linux-3f65047c853a2a5abcd8ac1984af3452b5df4ada.tar.gz linux-3f65047c853a2a5abcd8ac1984af3452b5df4ada.tar.bz2 linux-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')
-rw-r--r-- | drivers/net/ethernet/ti/cpsw.c | 16 |
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); |