|
@@ -186,9 +186,6 @@ static int stmmac_pltfr_remove(struct platform_device *pdev)
|
|
|
struct resource *res;
|
|
|
int ret = stmmac_dvr_remove(ndev);
|
|
|
|
|
|
- if (priv->plat->exit)
|
|
|
- priv->plat->exit(pdev);
|
|
|
-
|
|
|
if (priv->plat->exit)
|
|
|
priv->plat->exit(pdev);
|
|
|
|
|
@@ -218,14 +215,26 @@ static int stmmac_pltfr_resume(struct device *dev)
|
|
|
|
|
|
int stmmac_pltfr_freeze(struct device *dev)
|
|
|
{
|
|
|
+ int ret;
|
|
|
+ struct plat_stmmacenet_data *plat_dat = dev_get_platdata(dev);
|
|
|
struct net_device *ndev = dev_get_drvdata(dev);
|
|
|
+ struct platform_device *pdev = to_platform_device(dev);
|
|
|
|
|
|
- return stmmac_freeze(ndev);
|
|
|
+ ret = stmmac_freeze(ndev);
|
|
|
+ if (plat_dat->exit)
|
|
|
+ plat_dat->exit(pdev);
|
|
|
+
|
|
|
+ return ret;
|
|
|
}
|
|
|
|
|
|
int stmmac_pltfr_restore(struct device *dev)
|
|
|
{
|
|
|
+ struct plat_stmmacenet_data *plat_dat = dev_get_platdata(dev);
|
|
|
struct net_device *ndev = dev_get_drvdata(dev);
|
|
|
+ struct platform_device *pdev = to_platform_device(dev);
|
|
|
+
|
|
|
+ if (plat_dat->init)
|
|
|
+ plat_dat->init(pdev);
|
|
|
|
|
|
return stmmac_restore(ndev);
|
|
|
}
|