[linux-oxnas] [PATCH net 3/3] net: stmmac: dwmac-oxnas: use generic pm implementation |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/linux-oxnas Archives
]
- To: "David S. Miller" <davem@xxxxxxxxxxxxx>
- Subject: [linux-oxnas] [PATCH net 3/3] net: stmmac: dwmac-oxnas: use generic pm implementation
- From: Johan Hovold <johan@xxxxxxxxxx>
- Date: Mon, 2 Jan 2017 12:56:04 +0100
- Cc: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx>, Alexandre Torgue <alexandre.torgue@xxxxxx>, Neil Armstrong <narmstrong@xxxxxxxxxxxx>, netdev@xxxxxxxxxxxxxxx, linux-oxnas@xxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, Johan Hovold <johan@xxxxxxxxxx>
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=atPcyFsL6ylI+uJ2SC46xe1vYsAfBAENBF0l7tdN15E=; b=I0WNduF/uCZqWcimA8pbvOgSyFHkkgj9kc5e7kZz484/LvwZtcWe2RXnFCA1fEmfp1 KKniR3NQiSXcZwCwKCGdJYtRwufFmU60++H0Ha9FUVeHjCKOHKzYcjb/9IBxPNyu3U9N 9OSZoRv4W3gjJjRab1yNAYYO/xkuOC7JQRiDul+zOxdbl8NIMbELUS0xiu/w1nbWMfMW SFLDlBeqmc8Lauq+tOA8TTy1wK9Jjrhk7v0LD6H0E7B9SIgFDPCqOnWOvLv6dC98Uduy xrYAhcW3nTM+xWaxIXYP/6TMX2yKJ3K8eMNZho1GxjUs2hBTzOdw/WAn71R1AHob2nTZ sYVA==
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: Johan Hovold <johan@xxxxxxxxxx>
---
drivers/net/ethernet/stmicro/stmmac/dwmac-oxnas.c | 38 +++--------------------
1 file changed, 5 insertions(+), 33 deletions(-)
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-oxnas.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-oxnas.c
index 3efd110613df..3dc7d279f805 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-oxnas.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-oxnas.c
@@ -60,8 +60,9 @@ struct oxnas_dwmac {
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;
int ret;
@@ -135,6 +136,7 @@ static int oxnas_dwmac_probe(struct platform_device *pdev)
dwmac->dev = &pdev->dev;
plat_dat->bsp_priv = dwmac;
+ plat_dat->init = oxnas_dwmac_init;
plat_dat->exit = oxnas_dwmac_exit;
dwmac->regmap = syscon_regmap_lookup_by_phandle(pdev->dev.of_node,
@@ -151,7 +153,7 @@ static int oxnas_dwmac_probe(struct platform_device *pdev)
goto err_remove_config_dt;
}
- ret = oxnas_dwmac_init(dwmac);
+ ret = oxnas_dwmac_init(pdev, plat_dat->bsp_priv);
if (ret)
goto err_remove_config_dt;
@@ -170,36 +172,6 @@ static int oxnas_dwmac_probe(struct platform_device *pdev)
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[] = {
{ .compatible = "oxsemi,ox820-dwmac" },
{ }
@@ -211,7 +183,7 @@ static struct platform_driver oxnas_dwmac_driver = {
.remove = stmmac_pltfr_remove,
.driver = {
.name = "oxnas-dwmac",
- .pm = &oxnas_dwmac_pm_ops,
+ .pm = &stmmac_pltfr_pm_ops,
.of_match_table = oxnas_dwmac_match,
},
};
--
2.10.2