|
@@ -2044,6 +2044,9 @@ fec_suspend(struct device *dev)
|
|
|
clk_disable_unprepare(fep->clk_ahb);
|
|
|
clk_disable_unprepare(fep->clk_ipg);
|
|
|
|
|
|
+ if (fep->reg_phy)
|
|
|
+ regulator_disable(fep->reg_phy);
|
|
|
+
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
@@ -2052,6 +2055,13 @@ fec_resume(struct device *dev)
|
|
|
{
|
|
|
struct net_device *ndev = dev_get_drvdata(dev);
|
|
|
struct fec_enet_private *fep = netdev_priv(ndev);
|
|
|
+ int ret;
|
|
|
+
|
|
|
+ if (fep->reg_phy) {
|
|
|
+ ret = regulator_enable(fep->reg_phy);
|
|
|
+ if (ret)
|
|
|
+ return ret;
|
|
|
+ }
|
|
|
|
|
|
clk_prepare_enable(fep->clk_enet_out);
|
|
|
clk_prepare_enable(fep->clk_ahb);
|