mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-13 01:15:56 -04:00
net: stmmac: socfpga: convert to stmmac_pltfr_pm_ops
Convert socfpga to use the generic stmmac_pltfr_pm_ops, which can be achieved by adding an appropriate plat_dat->init function to do the setup. Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> Tested-by: Maxime Chevallier <maxime.chevallier@bootlin.com> Reviewed-by: Maxime Chevallier <maxime.chevallier@bootlin.com> Link: https://patch.msgid.link/E1u5Sni-001IJk-Gi@rmk-PC.armlinux.org.uk Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
0dbd4a6f57
commit
6bf70d999a
@@ -493,6 +493,7 @@ static int socfpga_dwmac_probe(struct platform_device *pdev)
|
||||
|
||||
plat_dat->bsp_priv = dwmac;
|
||||
plat_dat->fix_mac_speed = socfpga_dwmac_fix_mac_speed;
|
||||
plat_dat->init = socfpga_dwmac_init;
|
||||
plat_dat->pcs_init = socfpga_dwmac_pcs_init;
|
||||
plat_dat->pcs_exit = socfpga_dwmac_pcs_exit;
|
||||
plat_dat->select_pcs = socfpga_dwmac_select_pcs;
|
||||
@@ -516,40 +517,6 @@ static int socfpga_dwmac_probe(struct platform_device *pdev)
|
||||
return ret;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PM_SLEEP
|
||||
static int socfpga_dwmac_resume(struct device *dev)
|
||||
{
|
||||
struct socfpga_dwmac *dwmac_priv = get_stmmac_bsp_priv(dev);
|
||||
|
||||
socfpga_dwmac_init(to_platform_device(dev), dwmac_priv);
|
||||
|
||||
return stmmac_resume(dev);
|
||||
}
|
||||
#endif /* CONFIG_PM_SLEEP */
|
||||
|
||||
static int __maybe_unused socfpga_dwmac_runtime_suspend(struct device *dev)
|
||||
{
|
||||
struct net_device *ndev = dev_get_drvdata(dev);
|
||||
struct stmmac_priv *priv = netdev_priv(ndev);
|
||||
|
||||
stmmac_bus_clks_config(priv, false);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int __maybe_unused socfpga_dwmac_runtime_resume(struct device *dev)
|
||||
{
|
||||
struct net_device *ndev = dev_get_drvdata(dev);
|
||||
struct stmmac_priv *priv = netdev_priv(ndev);
|
||||
|
||||
return stmmac_bus_clks_config(priv, true);
|
||||
}
|
||||
|
||||
static const struct dev_pm_ops socfpga_dwmac_pm_ops = {
|
||||
SET_SYSTEM_SLEEP_PM_OPS(stmmac_suspend, socfpga_dwmac_resume)
|
||||
SET_RUNTIME_PM_OPS(socfpga_dwmac_runtime_suspend, socfpga_dwmac_runtime_resume, NULL)
|
||||
};
|
||||
|
||||
static const struct socfpga_dwmac_ops socfpga_gen5_ops = {
|
||||
.set_phy_mode = socfpga_gen5_set_phy_mode,
|
||||
};
|
||||
@@ -570,7 +537,7 @@ static struct platform_driver socfpga_dwmac_driver = {
|
||||
.remove = stmmac_pltfr_remove,
|
||||
.driver = {
|
||||
.name = "socfpga-dwmac",
|
||||
.pm = &socfpga_dwmac_pm_ops,
|
||||
.pm = &stmmac_pltfr_pm_ops,
|
||||
.of_match_table = socfpga_dwmac_match,
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user