Commit a8de4d71 authored by Johan Hovold's avatar Johan Hovold Committed by David S. Miller

net: stmmac: dwmac-oxnas: use generic pm implementation

Now that we have an exit callback in place, add init as well and get rid
of the custom PM callbacks in favour of the generic ones.
Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 6b4c212b
...@@ -60,8 +60,9 @@ struct oxnas_dwmac { ...@@ -60,8 +60,9 @@ struct oxnas_dwmac {
struct regmap *regmap; struct regmap *regmap;
}; };
static int oxnas_dwmac_init(struct oxnas_dwmac *dwmac) static int oxnas_dwmac_init(struct platform_device *pdev, void *priv)
{ {
struct oxnas_dwmac *dwmac = priv;
unsigned int value; unsigned int value;
int ret; int ret;
...@@ -135,6 +136,7 @@ static int oxnas_dwmac_probe(struct platform_device *pdev) ...@@ -135,6 +136,7 @@ static int oxnas_dwmac_probe(struct platform_device *pdev)
dwmac->dev = &pdev->dev; dwmac->dev = &pdev->dev;
plat_dat->bsp_priv = dwmac; plat_dat->bsp_priv = dwmac;
plat_dat->init = oxnas_dwmac_init;
plat_dat->exit = oxnas_dwmac_exit; plat_dat->exit = oxnas_dwmac_exit;
dwmac->regmap = syscon_regmap_lookup_by_phandle(pdev->dev.of_node, dwmac->regmap = syscon_regmap_lookup_by_phandle(pdev->dev.of_node,
...@@ -151,7 +153,7 @@ static int oxnas_dwmac_probe(struct platform_device *pdev) ...@@ -151,7 +153,7 @@ static int oxnas_dwmac_probe(struct platform_device *pdev)
goto err_remove_config_dt; goto err_remove_config_dt;
} }
ret = oxnas_dwmac_init(dwmac); ret = oxnas_dwmac_init(pdev, plat_dat->bsp_priv);
if (ret) if (ret)
goto err_remove_config_dt; goto err_remove_config_dt;
...@@ -170,36 +172,6 @@ static int oxnas_dwmac_probe(struct platform_device *pdev) ...@@ -170,36 +172,6 @@ static int oxnas_dwmac_probe(struct platform_device *pdev)
return ret; return ret;
} }
#ifdef CONFIG_PM_SLEEP
static int oxnas_dwmac_suspend(struct device *dev)
{
struct oxnas_dwmac *dwmac = get_stmmac_bsp_priv(dev);
int ret;
ret = stmmac_suspend(dev);
clk_disable_unprepare(dwmac->clk);
return ret;
}
static int oxnas_dwmac_resume(struct device *dev)
{
struct oxnas_dwmac *dwmac = get_stmmac_bsp_priv(dev);
int ret;
ret = oxnas_dwmac_init(dwmac);
if (ret)
return ret;
ret = stmmac_resume(dev);
return ret;
}
#endif /* CONFIG_PM_SLEEP */
static SIMPLE_DEV_PM_OPS(oxnas_dwmac_pm_ops,
oxnas_dwmac_suspend, oxnas_dwmac_resume);
static const struct of_device_id oxnas_dwmac_match[] = { static const struct of_device_id oxnas_dwmac_match[] = {
{ .compatible = "oxsemi,ox820-dwmac" }, { .compatible = "oxsemi,ox820-dwmac" },
{ } { }
...@@ -211,7 +183,7 @@ static struct platform_driver oxnas_dwmac_driver = { ...@@ -211,7 +183,7 @@ static struct platform_driver oxnas_dwmac_driver = {
.remove = stmmac_pltfr_remove, .remove = stmmac_pltfr_remove,
.driver = { .driver = {
.name = "oxnas-dwmac", .name = "oxnas-dwmac",
.pm = &oxnas_dwmac_pm_ops, .pm = &stmmac_pltfr_pm_ops,
.of_match_table = oxnas_dwmac_match, .of_match_table = oxnas_dwmac_match,
}, },
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment