net: phy: Uniform PHY driver access
authorGerhard Engleder <gerhard@engleder-embedded.com>
Thu, 19 Aug 2021 13:11:53 +0000 (15:11 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 20 Aug 2021 13:31:46 +0000 (14:31 +0100)
struct phy_device contains a pointer to the PHY driver and nearly
everywhere this pointer is used to access the PHY driver. Only
mdio_bus_phy_may_suspend() is still using to_phy_driver() instead of the
PHY driver pointer. Uniform PHY driver access by eliminating
to_phy_driver() use in mdio_bus_phy_may_suspend().

Only phy_bus_match() and phy_probe() are still using to_phy_driver(),
because PHY driver pointer is not available there.

Signed-off-by: Gerhard Engleder <gerhard@engleder-embedded.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/phy_device.c

index ba5ad86..9e2891d 100644 (file)
@@ -233,11 +233,9 @@ static DEFINE_MUTEX(phy_fixup_lock);
 
 static bool mdio_bus_phy_may_suspend(struct phy_device *phydev)
 {
-       struct device_driver *drv = phydev->mdio.dev.driver;
-       struct phy_driver *phydrv = to_phy_driver(drv);
        struct net_device *netdev = phydev->attached_dev;
 
-       if (!drv || !phydrv->suspend)
+       if (!phydev->drv->suspend)
                return false;
 
        /* PHY not attached? May suspend if the PHY has not already been