[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1462136303-16825-1-git-send-email-manabian@gmail.com>
Date: Sun, 1 May 2016 22:58:18 +0200
From: Joachim Eastwood <manabian@...il.com>
To: davem@...emloft.net
Cc: Joachim Eastwood <manabian@...il.com>, marex@...x.de,
dinguyen@...nsource.altera.com, peppe.cavallaro@...com,
alexandre.torgue@...com, netdev@...r.kernel.org
Subject: [net-next PATCH v2 0/5] stmmac: dwmac-socfpga refactor+cleanup
This patch aims to remove the init/exit callbacks from the dwmac-
socfpga driver and instead use standard PM callbacks. Doing this
will also allow us to cleanup the driver.
Eventually the init/exit callbacks will be deprecated and removed
from all drivers dwmac-* except for dwmac-generic. Drivers will be
refactored to use standard PM and remove callbacks.
This patch set should not change the behavior of the driver itself,
it only moves code around. The only exception to this is patch
number 4 which restores the resume callback behavior which was
changed in the "net: stmmac: socfpga: Remove re-registration of
reset controller" patch. I belive calling phy_resume() only
from the resume callback and not probe is the right thing to do.
Changes from v1:
- Rebase on net-next
One heads-up here:
The first patch changes the prototype of a couple of
functions used in Alexandre's "add Ethernet glue logic for
stm32 chip" patch [1] and will cause build failures for
dwmac-stm32.c if not fixed up!
If Alexandre's patch set is applied first I will gladly
rebase my patch set to account for his driver as well.
[1] https://patchwork.ozlabs.org/patch/614405/
Dave: To avoid the build failure mentioned above you can
apply the changes below to the stm32 driver or
Alexandre can use it if he creates a new version
of his patch set.
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-stm32.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-stm32.c
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-stm32.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-stm32.c
@@ -133,7 +133,7 @@ static int stm32_dwmac_remove(struct platform_device *pdev)
{
struct net_device *ndev = platform_get_drvdata(pdev);
struct stmmac_priv *priv = netdev_priv(ndev);
- int ret = stmmac_dvr_remove(ndev);
+ int ret = stmmac_dvr_remove(&pdev->dev);
stm32_dwmac_clk_disable(priv->plat->bsp_priv);
@@ -147,7 +147,7 @@ static int stm32_dwmac_suspend(struct device *dev)
struct stmmac_priv *priv = netdev_priv(ndev);
int ret;
- ret = stmmac_suspend(ndev);
+ ret = stmmac_suspend(dev);
stm32_dwmac_clk_disable(priv->plat->bsp_priv);
return ret;
@@ -163,7 +163,7 @@ static int stm32_dwmac_resume(struct device *dev)
if (ret)
return ret;
- ret = stmmac_resume(ndev);
+ ret = stmmac_resume(dev);
return ret;
}
Joachim Eastwood (5):
stmmac: let remove/resume/suspend functions take device pointer
stmmac: dwmac-socfpga: add PM ops and resume function
stmmac: dwmac-socfpga: keep a copy of stmmac_rst in driver priv data
stmmac: dwmac-socfpga: call phy_resume() only in resume callback
stmmac: dwmac-socfpga: kill init() and rename setup() to set_phy_mode()
.../net/ethernet/stmicro/stmmac/dwmac-socfpga.c | 106 +++++++++++----------
drivers/net/ethernet/stmicro/stmmac/stmmac.h | 6 +-
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 15 +--
drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c | 24 +----
.../net/ethernet/stmicro/stmmac/stmmac_platform.c | 6 +-
5 files changed, 71 insertions(+), 86 deletions(-)
--
2.8.0
Powered by blists - more mailing lists