OSDN Git Service

net: phy: utilize phy_suspend and phy_resume
authorFlorian Fainelli <f.fainelli@gmail.com>
Tue, 27 Jan 2015 06:05:37 +0000 (22:05 -0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 27 Jan 2015 08:16:51 +0000 (00:16 -0800)
phy_suspend and phy_resume are an abstraction on top of the PHY device
driver suspend and resume callbacks, utilize those since they are the
proper interface to suspending and resuming a PHY device.

Acked-by: Fugang Duan <B38611@freescale.com>
Tested-by: Fugang Duan <B38611@freescale.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/mdio_bus.c

index 50051f2..2044774 100644 (file)
@@ -465,7 +465,6 @@ static bool mdio_bus_phy_may_suspend(struct phy_device *phydev)
 
 static int mdio_bus_suspend(struct device *dev)
 {
-       struct phy_driver *phydrv = to_phy_driver(dev->driver);
        struct phy_device *phydev = to_phy_device(dev);
 
        /* We must stop the state machine manually, otherwise it stops out of
@@ -479,19 +478,18 @@ static int mdio_bus_suspend(struct device *dev)
        if (!mdio_bus_phy_may_suspend(phydev))
                return 0;
 
-       return phydrv->suspend(phydev);
+       return phy_suspend(phydev);
 }
 
 static int mdio_bus_resume(struct device *dev)
 {
-       struct phy_driver *phydrv = to_phy_driver(dev->driver);
        struct phy_device *phydev = to_phy_device(dev);
        int ret;
 
        if (!mdio_bus_phy_may_suspend(phydev))
                goto no_resume;
 
-       ret = phydrv->resume(phydev);
+       ret = phy_resume(phydev);
        if (ret < 0)
                return ret;