Commit 1518abee authored by Jakub Kicinski's avatar Jakub Kicinski

Merge branch 'net-freescale-convert-to-platform-remove-callback-returning-void'

Uwe Kleine-König says:

====================
net: freescale: Convert to platform remove callback returning void

v2 of this series was sent in June[1], code changes since then only affect
patch #1 where the dev_err invocation was adapted to emit the error code of
dpaa_fq_free(). Thanks for feedback by Maciej Fijalkowski and Russell King.
Other than that I added Reviewed-by tags for Simon Horman and Wei Fang and
rebased to v6.5-rc1.

There is only one dependency in this series: Patch #2 depends on patch

[1] https://lore.kernel.org/netdev/20230606162829.166226-1-u.kleine-koenig@pengutronix.de
====================

Link: https://lore.kernel.org/r/20230710071946.3470249-1-u.kleine-koenig@pengutronix.deSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parents b8e39b38 ae18facf
...@@ -3497,7 +3497,7 @@ static int dpaa_eth_probe(struct platform_device *pdev) ...@@ -3497,7 +3497,7 @@ static int dpaa_eth_probe(struct platform_device *pdev)
return err; return err;
} }
static int dpaa_remove(struct platform_device *pdev) static void dpaa_remove(struct platform_device *pdev)
{ {
struct net_device *net_dev; struct net_device *net_dev;
struct dpaa_priv *priv; struct dpaa_priv *priv;
...@@ -3516,6 +3516,9 @@ static int dpaa_remove(struct platform_device *pdev) ...@@ -3516,6 +3516,9 @@ static int dpaa_remove(struct platform_device *pdev)
phylink_destroy(priv->mac_dev->phylink); phylink_destroy(priv->mac_dev->phylink);
err = dpaa_fq_free(dev, &priv->dpaa_fq_list); err = dpaa_fq_free(dev, &priv->dpaa_fq_list);
if (err)
dev_err(dev, "Failed to free FQs on remove (%pE)\n",
ERR_PTR(err));
qman_delete_cgr_safe(&priv->ingress_cgr); qman_delete_cgr_safe(&priv->ingress_cgr);
qman_release_cgrid(priv->ingress_cgr.cgrid); qman_release_cgrid(priv->ingress_cgr.cgrid);
...@@ -3527,8 +3530,6 @@ static int dpaa_remove(struct platform_device *pdev) ...@@ -3527,8 +3530,6 @@ static int dpaa_remove(struct platform_device *pdev)
dpaa_bps_free(priv); dpaa_bps_free(priv);
free_netdev(net_dev); free_netdev(net_dev);
return err;
} }
static const struct platform_device_id dpaa_devtype[] = { static const struct platform_device_id dpaa_devtype[] = {
...@@ -3546,7 +3547,7 @@ static struct platform_driver dpaa_driver = { ...@@ -3546,7 +3547,7 @@ static struct platform_driver dpaa_driver = {
}, },
.id_table = dpaa_devtype, .id_table = dpaa_devtype,
.probe = dpaa_eth_probe, .probe = dpaa_eth_probe,
.remove = dpaa_remove .remove_new = dpaa_remove
}; };
static int __init dpaa_load(void) static int __init dpaa_load(void)
......
...@@ -4458,7 +4458,7 @@ fec_probe(struct platform_device *pdev) ...@@ -4458,7 +4458,7 @@ fec_probe(struct platform_device *pdev)
return ret; return ret;
} }
static int static void
fec_drv_remove(struct platform_device *pdev) fec_drv_remove(struct platform_device *pdev)
{ {
struct net_device *ndev = platform_get_drvdata(pdev); struct net_device *ndev = platform_get_drvdata(pdev);
...@@ -4494,7 +4494,6 @@ fec_drv_remove(struct platform_device *pdev) ...@@ -4494,7 +4494,6 @@ fec_drv_remove(struct platform_device *pdev)
pm_runtime_disable(&pdev->dev); pm_runtime_disable(&pdev->dev);
free_netdev(ndev); free_netdev(ndev);
return 0;
} }
static int __maybe_unused fec_suspend(struct device *dev) static int __maybe_unused fec_suspend(struct device *dev)
...@@ -4650,7 +4649,7 @@ static struct platform_driver fec_driver = { ...@@ -4650,7 +4649,7 @@ static struct platform_driver fec_driver = {
}, },
.id_table = fec_devtype, .id_table = fec_devtype,
.probe = fec_probe, .probe = fec_probe,
.remove = fec_drv_remove, .remove_new = fec_drv_remove,
}; };
module_platform_driver(fec_driver); module_platform_driver(fec_driver);
......
...@@ -974,7 +974,7 @@ static int mpc52xx_fec_probe(struct platform_device *op) ...@@ -974,7 +974,7 @@ static int mpc52xx_fec_probe(struct platform_device *op)
return rv; return rv;
} }
static int static void
mpc52xx_fec_remove(struct platform_device *op) mpc52xx_fec_remove(struct platform_device *op)
{ {
struct net_device *ndev; struct net_device *ndev;
...@@ -998,8 +998,6 @@ mpc52xx_fec_remove(struct platform_device *op) ...@@ -998,8 +998,6 @@ mpc52xx_fec_remove(struct platform_device *op)
release_mem_region(ndev->base_addr, sizeof(struct mpc52xx_fec)); release_mem_region(ndev->base_addr, sizeof(struct mpc52xx_fec));
free_netdev(ndev); free_netdev(ndev);
return 0;
} }
#ifdef CONFIG_PM #ifdef CONFIG_PM
...@@ -1042,7 +1040,7 @@ static struct platform_driver mpc52xx_fec_driver = { ...@@ -1042,7 +1040,7 @@ static struct platform_driver mpc52xx_fec_driver = {
.of_match_table = mpc52xx_fec_match, .of_match_table = mpc52xx_fec_match,
}, },
.probe = mpc52xx_fec_probe, .probe = mpc52xx_fec_probe,
.remove = mpc52xx_fec_remove, .remove_new = mpc52xx_fec_remove,
#ifdef CONFIG_PM #ifdef CONFIG_PM
.suspend = mpc52xx_fec_of_suspend, .suspend = mpc52xx_fec_of_suspend,
.resume = mpc52xx_fec_of_resume, .resume = mpc52xx_fec_of_resume,
......
...@@ -117,7 +117,7 @@ static int mpc52xx_fec_mdio_probe(struct platform_device *of) ...@@ -117,7 +117,7 @@ static int mpc52xx_fec_mdio_probe(struct platform_device *of)
return err; return err;
} }
static int mpc52xx_fec_mdio_remove(struct platform_device *of) static void mpc52xx_fec_mdio_remove(struct platform_device *of)
{ {
struct mii_bus *bus = platform_get_drvdata(of); struct mii_bus *bus = platform_get_drvdata(of);
struct mpc52xx_fec_mdio_priv *priv = bus->priv; struct mpc52xx_fec_mdio_priv *priv = bus->priv;
...@@ -126,8 +126,6 @@ static int mpc52xx_fec_mdio_remove(struct platform_device *of) ...@@ -126,8 +126,6 @@ static int mpc52xx_fec_mdio_remove(struct platform_device *of)
iounmap(priv->regs); iounmap(priv->regs);
kfree(priv); kfree(priv);
mdiobus_free(bus); mdiobus_free(bus);
return 0;
} }
static const struct of_device_id mpc52xx_fec_mdio_match[] = { static const struct of_device_id mpc52xx_fec_mdio_match[] = {
...@@ -145,7 +143,7 @@ struct platform_driver mpc52xx_fec_mdio_driver = { ...@@ -145,7 +143,7 @@ struct platform_driver mpc52xx_fec_mdio_driver = {
.of_match_table = mpc52xx_fec_mdio_match, .of_match_table = mpc52xx_fec_mdio_match,
}, },
.probe = mpc52xx_fec_mdio_probe, .probe = mpc52xx_fec_mdio_probe,
.remove = mpc52xx_fec_mdio_remove, .remove_new = mpc52xx_fec_mdio_remove,
}; };
/* let fec driver call it, since this has to be registered before it */ /* let fec driver call it, since this has to be registered before it */
......
...@@ -331,12 +331,11 @@ static int mac_probe(struct platform_device *_of_dev) ...@@ -331,12 +331,11 @@ static int mac_probe(struct platform_device *_of_dev)
return err; return err;
} }
static int mac_remove(struct platform_device *pdev) static void mac_remove(struct platform_device *pdev)
{ {
struct mac_device *mac_dev = platform_get_drvdata(pdev); struct mac_device *mac_dev = platform_get_drvdata(pdev);
platform_device_unregister(mac_dev->priv->eth_dev); platform_device_unregister(mac_dev->priv->eth_dev);
return 0;
} }
static struct platform_driver mac_driver = { static struct platform_driver mac_driver = {
...@@ -345,7 +344,7 @@ static struct platform_driver mac_driver = { ...@@ -345,7 +344,7 @@ static struct platform_driver mac_driver = {
.of_match_table = mac_match, .of_match_table = mac_match,
}, },
.probe = mac_probe, .probe = mac_probe,
.remove = mac_remove, .remove_new = mac_remove,
}; };
builtin_platform_driver(mac_driver); builtin_platform_driver(mac_driver);
...@@ -1051,7 +1051,7 @@ static int fs_enet_probe(struct platform_device *ofdev) ...@@ -1051,7 +1051,7 @@ static int fs_enet_probe(struct platform_device *ofdev)
return ret; return ret;
} }
static int fs_enet_remove(struct platform_device *ofdev) static void fs_enet_remove(struct platform_device *ofdev)
{ {
struct net_device *ndev = platform_get_drvdata(ofdev); struct net_device *ndev = platform_get_drvdata(ofdev);
struct fs_enet_private *fep = netdev_priv(ndev); struct fs_enet_private *fep = netdev_priv(ndev);
...@@ -1066,7 +1066,6 @@ static int fs_enet_remove(struct platform_device *ofdev) ...@@ -1066,7 +1066,6 @@ static int fs_enet_remove(struct platform_device *ofdev)
if (of_phy_is_fixed_link(ofdev->dev.of_node)) if (of_phy_is_fixed_link(ofdev->dev.of_node))
of_phy_deregister_fixed_link(ofdev->dev.of_node); of_phy_deregister_fixed_link(ofdev->dev.of_node);
free_netdev(ndev); free_netdev(ndev);
return 0;
} }
static const struct of_device_id fs_enet_match[] = { static const struct of_device_id fs_enet_match[] = {
...@@ -1113,7 +1112,7 @@ static struct platform_driver fs_enet_driver = { ...@@ -1113,7 +1112,7 @@ static struct platform_driver fs_enet_driver = {
.of_match_table = fs_enet_match, .of_match_table = fs_enet_match,
}, },
.probe = fs_enet_probe, .probe = fs_enet_probe,
.remove = fs_enet_remove, .remove_new = fs_enet_remove,
}; };
#ifdef CONFIG_NET_POLL_CONTROLLER #ifdef CONFIG_NET_POLL_CONTROLLER
......
...@@ -192,7 +192,7 @@ static int fs_enet_mdio_probe(struct platform_device *ofdev) ...@@ -192,7 +192,7 @@ static int fs_enet_mdio_probe(struct platform_device *ofdev)
return ret; return ret;
} }
static int fs_enet_mdio_remove(struct platform_device *ofdev) static void fs_enet_mdio_remove(struct platform_device *ofdev)
{ {
struct mii_bus *bus = platform_get_drvdata(ofdev); struct mii_bus *bus = platform_get_drvdata(ofdev);
struct bb_info *bitbang = bus->priv; struct bb_info *bitbang = bus->priv;
...@@ -201,8 +201,6 @@ static int fs_enet_mdio_remove(struct platform_device *ofdev) ...@@ -201,8 +201,6 @@ static int fs_enet_mdio_remove(struct platform_device *ofdev)
free_mdio_bitbang(bus); free_mdio_bitbang(bus);
iounmap(bitbang->dir); iounmap(bitbang->dir);
kfree(bitbang); kfree(bitbang);
return 0;
} }
static const struct of_device_id fs_enet_mdio_bb_match[] = { static const struct of_device_id fs_enet_mdio_bb_match[] = {
...@@ -219,7 +217,7 @@ static struct platform_driver fs_enet_bb_mdio_driver = { ...@@ -219,7 +217,7 @@ static struct platform_driver fs_enet_bb_mdio_driver = {
.of_match_table = fs_enet_mdio_bb_match, .of_match_table = fs_enet_mdio_bb_match,
}, },
.probe = fs_enet_mdio_probe, .probe = fs_enet_mdio_probe,
.remove = fs_enet_mdio_remove, .remove_new = fs_enet_mdio_remove,
}; };
module_platform_driver(fs_enet_bb_mdio_driver); module_platform_driver(fs_enet_bb_mdio_driver);
......
...@@ -187,7 +187,7 @@ static int fs_enet_mdio_probe(struct platform_device *ofdev) ...@@ -187,7 +187,7 @@ static int fs_enet_mdio_probe(struct platform_device *ofdev)
return ret; return ret;
} }
static int fs_enet_mdio_remove(struct platform_device *ofdev) static void fs_enet_mdio_remove(struct platform_device *ofdev)
{ {
struct mii_bus *bus = platform_get_drvdata(ofdev); struct mii_bus *bus = platform_get_drvdata(ofdev);
struct fec_info *fec = bus->priv; struct fec_info *fec = bus->priv;
...@@ -196,8 +196,6 @@ static int fs_enet_mdio_remove(struct platform_device *ofdev) ...@@ -196,8 +196,6 @@ static int fs_enet_mdio_remove(struct platform_device *ofdev)
iounmap(fec->fecp); iounmap(fec->fecp);
kfree(fec); kfree(fec);
mdiobus_free(bus); mdiobus_free(bus);
return 0;
} }
static const struct of_device_id fs_enet_mdio_fec_match[] = { static const struct of_device_id fs_enet_mdio_fec_match[] = {
...@@ -220,7 +218,7 @@ static struct platform_driver fs_enet_fec_mdio_driver = { ...@@ -220,7 +218,7 @@ static struct platform_driver fs_enet_fec_mdio_driver = {
.of_match_table = fs_enet_mdio_fec_match, .of_match_table = fs_enet_mdio_fec_match,
}, },
.probe = fs_enet_mdio_probe, .probe = fs_enet_mdio_probe,
.remove = fs_enet_mdio_remove, .remove_new = fs_enet_mdio_remove,
}; };
module_platform_driver(fs_enet_fec_mdio_driver); module_platform_driver(fs_enet_fec_mdio_driver);
......
...@@ -511,7 +511,7 @@ static int fsl_pq_mdio_probe(struct platform_device *pdev) ...@@ -511,7 +511,7 @@ static int fsl_pq_mdio_probe(struct platform_device *pdev)
} }
static int fsl_pq_mdio_remove(struct platform_device *pdev) static void fsl_pq_mdio_remove(struct platform_device *pdev)
{ {
struct device *device = &pdev->dev; struct device *device = &pdev->dev;
struct mii_bus *bus = dev_get_drvdata(device); struct mii_bus *bus = dev_get_drvdata(device);
...@@ -521,8 +521,6 @@ static int fsl_pq_mdio_remove(struct platform_device *pdev) ...@@ -521,8 +521,6 @@ static int fsl_pq_mdio_remove(struct platform_device *pdev)
iounmap(priv->map); iounmap(priv->map);
mdiobus_free(bus); mdiobus_free(bus);
return 0;
} }
static struct platform_driver fsl_pq_mdio_driver = { static struct platform_driver fsl_pq_mdio_driver = {
...@@ -531,7 +529,7 @@ static struct platform_driver fsl_pq_mdio_driver = { ...@@ -531,7 +529,7 @@ static struct platform_driver fsl_pq_mdio_driver = {
.of_match_table = fsl_pq_mdio_match, .of_match_table = fsl_pq_mdio_match,
}, },
.probe = fsl_pq_mdio_probe, .probe = fsl_pq_mdio_probe,
.remove = fsl_pq_mdio_remove, .remove_new = fsl_pq_mdio_remove,
}; };
module_platform_driver(fsl_pq_mdio_driver); module_platform_driver(fsl_pq_mdio_driver);
......
...@@ -3364,7 +3364,7 @@ static int gfar_probe(struct platform_device *ofdev) ...@@ -3364,7 +3364,7 @@ static int gfar_probe(struct platform_device *ofdev)
return err; return err;
} }
static int gfar_remove(struct platform_device *ofdev) static void gfar_remove(struct platform_device *ofdev)
{ {
struct gfar_private *priv = platform_get_drvdata(ofdev); struct gfar_private *priv = platform_get_drvdata(ofdev);
struct device_node *np = ofdev->dev.of_node; struct device_node *np = ofdev->dev.of_node;
...@@ -3381,8 +3381,6 @@ static int gfar_remove(struct platform_device *ofdev) ...@@ -3381,8 +3381,6 @@ static int gfar_remove(struct platform_device *ofdev)
gfar_free_rx_queues(priv); gfar_free_rx_queues(priv);
gfar_free_tx_queues(priv); gfar_free_tx_queues(priv);
free_gfar_dev(priv); free_gfar_dev(priv);
return 0;
} }
#ifdef CONFIG_PM #ifdef CONFIG_PM
...@@ -3642,7 +3640,7 @@ static struct platform_driver gfar_driver = { ...@@ -3642,7 +3640,7 @@ static struct platform_driver gfar_driver = {
.of_match_table = gfar_match, .of_match_table = gfar_match,
}, },
.probe = gfar_probe, .probe = gfar_probe,
.remove = gfar_remove, .remove_new = gfar_remove,
}; };
module_platform_driver(gfar_driver); module_platform_driver(gfar_driver);
...@@ -3753,7 +3753,7 @@ static int ucc_geth_probe(struct platform_device* ofdev) ...@@ -3753,7 +3753,7 @@ static int ucc_geth_probe(struct platform_device* ofdev)
return err; return err;
} }
static int ucc_geth_remove(struct platform_device* ofdev) static void ucc_geth_remove(struct platform_device* ofdev)
{ {
struct net_device *dev = platform_get_drvdata(ofdev); struct net_device *dev = platform_get_drvdata(ofdev);
struct ucc_geth_private *ugeth = netdev_priv(dev); struct ucc_geth_private *ugeth = netdev_priv(dev);
...@@ -3767,8 +3767,6 @@ static int ucc_geth_remove(struct platform_device* ofdev) ...@@ -3767,8 +3767,6 @@ static int ucc_geth_remove(struct platform_device* ofdev)
of_node_put(ugeth->ug_info->phy_node); of_node_put(ugeth->ug_info->phy_node);
kfree(ugeth->ug_info); kfree(ugeth->ug_info);
free_netdev(dev); free_netdev(dev);
return 0;
} }
static const struct of_device_id ucc_geth_match[] = { static const struct of_device_id ucc_geth_match[] = {
...@@ -3787,7 +3785,7 @@ static struct platform_driver ucc_geth_driver = { ...@@ -3787,7 +3785,7 @@ static struct platform_driver ucc_geth_driver = {
.of_match_table = ucc_geth_match, .of_match_table = ucc_geth_match,
}, },
.probe = ucc_geth_probe, .probe = ucc_geth_probe,
.remove = ucc_geth_remove, .remove_new = ucc_geth_remove,
.suspend = ucc_geth_suspend, .suspend = ucc_geth_suspend,
.resume = ucc_geth_resume, .resume = ucc_geth_resume,
}; };
......
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