* [PATCH net-next 02/54] net: ethernet: actions: Convert to platform remove callback returning void
[not found] <20230918204227.1316886-1-u.kleine-koenig@pengutronix.de>
@ 2023-09-18 20:41 ` Uwe Kleine-König
2023-09-18 20:41 ` [PATCH net-next 04/54] net: ethernet: allwinner: " Uwe Kleine-König
` (6 subsequent siblings)
7 siblings, 0 replies; 11+ messages in thread
From: Uwe Kleine-König @ 2023-09-18 20:41 UTC (permalink / raw)
To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni
Cc: Andreas Färber, Manivannan Sadhasivam, netdev,
linux-arm-kernel, linux-actions, kernel
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() is renamed to .remove().
Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
drivers/net/ethernet/actions/owl-emac.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/actions/owl-emac.c b/drivers/net/ethernet/actions/owl-emac.c
index c6f8f852bff1..e03193da5874 100644
--- a/drivers/net/ethernet/actions/owl-emac.c
+++ b/drivers/net/ethernet/actions/owl-emac.c
@@ -1582,15 +1582,13 @@ static int owl_emac_probe(struct platform_device *pdev)
return 0;
}
-static int owl_emac_remove(struct platform_device *pdev)
+static void owl_emac_remove(struct platform_device *pdev)
{
struct owl_emac_priv *priv = platform_get_drvdata(pdev);
netif_napi_del(&priv->napi);
phy_disconnect(priv->netdev->phydev);
cancel_work_sync(&priv->mac_reset_task);
-
- return 0;
}
static const struct of_device_id owl_emac_of_match[] = {
@@ -1609,7 +1607,7 @@ static struct platform_driver owl_emac_driver = {
.pm = &owl_emac_pm_ops,
},
.probe = owl_emac_probe,
- .remove = owl_emac_remove,
+ .remove_new = owl_emac_remove,
};
module_platform_driver(owl_emac_driver);
--
2.40.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH net-next 04/54] net: ethernet: allwinner: Convert to platform remove callback returning void
[not found] <20230918204227.1316886-1-u.kleine-koenig@pengutronix.de>
2023-09-18 20:41 ` [PATCH net-next 02/54] net: ethernet: actions: Convert to platform remove callback returning void Uwe Kleine-König
@ 2023-09-18 20:41 ` Uwe Kleine-König
2023-09-19 17:22 ` Jernej Škrabec
2023-09-18 20:41 ` [PATCH net-next 09/54] net: ethernet: arc: " Uwe Kleine-König
` (5 subsequent siblings)
7 siblings, 1 reply; 11+ messages in thread
From: Uwe Kleine-König @ 2023-09-18 20:41 UTC (permalink / raw)
To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni
Cc: Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, netdev,
linux-arm-kernel, linux-sunxi, kernel
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() is renamed to .remove().
Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
drivers/net/ethernet/allwinner/sun4i-emac.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/allwinner/sun4i-emac.c b/drivers/net/ethernet/allwinner/sun4i-emac.c
index a94c62956eed..d761c08fe5c1 100644
--- a/drivers/net/ethernet/allwinner/sun4i-emac.c
+++ b/drivers/net/ethernet/allwinner/sun4i-emac.c
@@ -1083,7 +1083,7 @@ static int emac_probe(struct platform_device *pdev)
return ret;
}
-static int emac_remove(struct platform_device *pdev)
+static void emac_remove(struct platform_device *pdev)
{
struct net_device *ndev = platform_get_drvdata(pdev);
struct emac_board_info *db = netdev_priv(ndev);
@@ -1101,7 +1101,6 @@ static int emac_remove(struct platform_device *pdev)
free_netdev(ndev);
dev_dbg(&pdev->dev, "released and freed device\n");
- return 0;
}
static int emac_suspend(struct platform_device *dev, pm_message_t state)
@@ -1143,7 +1142,7 @@ static struct platform_driver emac_driver = {
.of_match_table = emac_of_match,
},
.probe = emac_probe,
- .remove = emac_remove,
+ .remove_new = emac_remove,
.suspend = emac_suspend,
.resume = emac_resume,
};
--
2.40.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH net-next 09/54] net: ethernet: arc: Convert to platform remove callback returning void
[not found] <20230918204227.1316886-1-u.kleine-koenig@pengutronix.de>
2023-09-18 20:41 ` [PATCH net-next 02/54] net: ethernet: actions: Convert to platform remove callback returning void Uwe Kleine-König
2023-09-18 20:41 ` [PATCH net-next 04/54] net: ethernet: allwinner: " Uwe Kleine-König
@ 2023-09-18 20:41 ` Uwe Kleine-König
2023-09-18 20:41 ` [PATCH net-next 16/54] net: ethernet: cortina: " Uwe Kleine-König
` (4 subsequent siblings)
7 siblings, 0 replies; 11+ messages in thread
From: Uwe Kleine-König @ 2023-09-18 20:41 UTC (permalink / raw)
To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni
Cc: Heiko Stuebner, Simon Horman, netdev, kernel, linux-arm-kernel,
linux-rockchip
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() is renamed to .remove().
Trivially convert these drivers from always returning zero in the remove
callback to the void returning variant.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
drivers/net/ethernet/arc/emac_arc.c | 6 ++----
drivers/net/ethernet/arc/emac_rockchip.c | 5 ++---
2 files changed, 4 insertions(+), 7 deletions(-)
diff --git a/drivers/net/ethernet/arc/emac_arc.c b/drivers/net/ethernet/arc/emac_arc.c
index ce3147e886a1..a3afddb23ee8 100644
--- a/drivers/net/ethernet/arc/emac_arc.c
+++ b/drivers/net/ethernet/arc/emac_arc.c
@@ -58,14 +58,12 @@ static int emac_arc_probe(struct platform_device *pdev)
return err;
}
-static int emac_arc_remove(struct platform_device *pdev)
+static void emac_arc_remove(struct platform_device *pdev)
{
struct net_device *ndev = platform_get_drvdata(pdev);
arc_emac_remove(ndev);
free_netdev(ndev);
-
- return 0;
}
static const struct of_device_id emac_arc_dt_ids[] = {
@@ -76,7 +74,7 @@ MODULE_DEVICE_TABLE(of, emac_arc_dt_ids);
static struct platform_driver emac_arc_driver = {
.probe = emac_arc_probe,
- .remove = emac_arc_remove,
+ .remove_new = emac_arc_remove,
.driver = {
.name = DRV_NAME,
.of_match_table = emac_arc_dt_ids,
diff --git a/drivers/net/ethernet/arc/emac_rockchip.c b/drivers/net/ethernet/arc/emac_rockchip.c
index 509101112279..493d6356c8ca 100644
--- a/drivers/net/ethernet/arc/emac_rockchip.c
+++ b/drivers/net/ethernet/arc/emac_rockchip.c
@@ -244,7 +244,7 @@ static int emac_rockchip_probe(struct platform_device *pdev)
return err;
}
-static int emac_rockchip_remove(struct platform_device *pdev)
+static void emac_rockchip_remove(struct platform_device *pdev)
{
struct net_device *ndev = platform_get_drvdata(pdev);
struct rockchip_priv_data *priv = netdev_priv(ndev);
@@ -260,12 +260,11 @@ static int emac_rockchip_remove(struct platform_device *pdev)
clk_disable_unprepare(priv->macclk);
free_netdev(ndev);
- return 0;
}
static struct platform_driver emac_rockchip_driver = {
.probe = emac_rockchip_probe,
- .remove = emac_rockchip_remove,
+ .remove_new = emac_rockchip_remove,
.driver = {
.name = DRV_NAME,
.of_match_table = emac_rockchip_dt_ids,
--
2.40.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH net-next 16/54] net: ethernet: cortina: Convert to platform remove callback returning void
[not found] <20230918204227.1316886-1-u.kleine-koenig@pengutronix.de>
` (2 preceding siblings ...)
2023-09-18 20:41 ` [PATCH net-next 09/54] net: ethernet: arc: " Uwe Kleine-König
@ 2023-09-18 20:41 ` Uwe Kleine-König
2023-09-18 20:42 ` [PATCH net-next 30/54] net: ethernet: mediatek: " Uwe Kleine-König
` (3 subsequent siblings)
7 siblings, 0 replies; 11+ messages in thread
From: Uwe Kleine-König @ 2023-09-18 20:41 UTC (permalink / raw)
To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni
Cc: Hans Ulli Kroll, Linus Walleij, linux-arm-kernel, netdev, kernel
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() is renamed to .remove().
Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
drivers/net/ethernet/cortina/gemini.c | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/drivers/net/ethernet/cortina/gemini.c b/drivers/net/ethernet/cortina/gemini.c
index a8b9d1a3e4d5..5423fe26b4ef 100644
--- a/drivers/net/ethernet/cortina/gemini.c
+++ b/drivers/net/ethernet/cortina/gemini.c
@@ -2518,13 +2518,11 @@ static int gemini_ethernet_port_probe(struct platform_device *pdev)
return ret;
}
-static int gemini_ethernet_port_remove(struct platform_device *pdev)
+static void gemini_ethernet_port_remove(struct platform_device *pdev)
{
struct gemini_ethernet_port *port = platform_get_drvdata(pdev);
gemini_port_remove(port);
-
- return 0;
}
static const struct of_device_id gemini_ethernet_port_of_match[] = {
@@ -2541,7 +2539,7 @@ static struct platform_driver gemini_ethernet_port_driver = {
.of_match_table = gemini_ethernet_port_of_match,
},
.probe = gemini_ethernet_port_probe,
- .remove = gemini_ethernet_port_remove,
+ .remove_new = gemini_ethernet_port_remove,
};
static int gemini_ethernet_probe(struct platform_device *pdev)
@@ -2583,14 +2581,12 @@ static int gemini_ethernet_probe(struct platform_device *pdev)
return devm_of_platform_populate(dev);
}
-static int gemini_ethernet_remove(struct platform_device *pdev)
+static void gemini_ethernet_remove(struct platform_device *pdev)
{
struct gemini_ethernet *geth = platform_get_drvdata(pdev);
geth_cleanup_freeq(geth);
geth->initialized = false;
-
- return 0;
}
static const struct of_device_id gemini_ethernet_of_match[] = {
@@ -2607,7 +2603,7 @@ static struct platform_driver gemini_ethernet_driver = {
.of_match_table = gemini_ethernet_of_match,
},
.probe = gemini_ethernet_probe,
- .remove = gemini_ethernet_remove,
+ .remove_new = gemini_ethernet_remove,
};
static int __init gemini_ethernet_module_init(void)
--
2.40.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH net-next 30/54] net: ethernet: mediatek: Convert to platform remove callback returning void
[not found] <20230918204227.1316886-1-u.kleine-koenig@pengutronix.de>
` (3 preceding siblings ...)
2023-09-18 20:41 ` [PATCH net-next 16/54] net: ethernet: cortina: " Uwe Kleine-König
@ 2023-09-18 20:42 ` Uwe Kleine-König
2023-09-18 20:42 ` [PATCH net-next 33/54] net: ethernet: microchip: " Uwe Kleine-König
` (2 subsequent siblings)
7 siblings, 0 replies; 11+ messages in thread
From: Uwe Kleine-König @ 2023-09-18 20:42 UTC (permalink / raw)
To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni
Cc: Felix Fietkau, John Crispin, Sean Wang, Mark Lee,
Lorenzo Bianconi, Matthias Brugger, AngeloGioacchino Del Regno,
netdev, kernel, linux-arm-kernel, linux-mediatek
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() is renamed to .remove().
Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
drivers/net/ethernet/mediatek/mtk_eth_soc.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
index 3cffd1bd3067..4ac8d7cd97ae 100644
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -5002,7 +5002,7 @@ static int mtk_probe(struct platform_device *pdev)
return err;
}
-static int mtk_remove(struct platform_device *pdev)
+static void mtk_remove(struct platform_device *pdev)
{
struct mtk_eth *eth = platform_get_drvdata(pdev);
struct mtk_mac *mac;
@@ -5024,8 +5024,6 @@ static int mtk_remove(struct platform_device *pdev)
netif_napi_del(ð->rx_napi);
mtk_cleanup(eth);
mtk_mdio_cleanup(eth);
-
- return 0;
}
static const struct mtk_soc_data mt2701_data = {
@@ -5226,7 +5224,7 @@ MODULE_DEVICE_TABLE(of, of_mtk_match);
static struct platform_driver mtk_driver = {
.probe = mtk_probe,
- .remove = mtk_remove,
+ .remove_new = mtk_remove,
.driver = {
.name = "mtk_soc_eth",
.of_match_table = of_mtk_match,
--
2.40.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH net-next 33/54] net: ethernet: microchip: Convert to platform remove callback returning void
[not found] <20230918204227.1316886-1-u.kleine-koenig@pengutronix.de>
` (4 preceding siblings ...)
2023-09-18 20:42 ` [PATCH net-next 30/54] net: ethernet: mediatek: " Uwe Kleine-König
@ 2023-09-18 20:42 ` Uwe Kleine-König
2023-09-18 20:42 ` [PATCH net-next 39/54] net: ethernet: nxp: " Uwe Kleine-König
2023-09-18 20:42 ` [PATCH net-next 53/54] net: ethernet: xilinx: " Uwe Kleine-König
7 siblings, 0 replies; 11+ messages in thread
From: Uwe Kleine-König @ 2023-09-18 20:42 UTC (permalink / raw)
To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni
Cc: Horatiu Vultur, UNGLinuxDriver, Lars Povlsen, Steen Hegelund,
Daniel Machon, Shang XiaoJing, Qiheng Lin, netdev, kernel,
linux-arm-kernel
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() is renamed to .remove().
Trivially convert these drivers from always returning zero in the remove
callback to the void returning variant.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
drivers/net/ethernet/microchip/lan966x/lan966x_main.c | 6 ++----
drivers/net/ethernet/microchip/sparx5/sparx5_main.c | 6 ++----
2 files changed, 4 insertions(+), 8 deletions(-)
diff --git a/drivers/net/ethernet/microchip/lan966x/lan966x_main.c b/drivers/net/ethernet/microchip/lan966x/lan966x_main.c
index 0d6e79af2410..8e4101628fbd 100644
--- a/drivers/net/ethernet/microchip/lan966x/lan966x_main.c
+++ b/drivers/net/ethernet/microchip/lan966x/lan966x_main.c
@@ -1261,7 +1261,7 @@ static int lan966x_probe(struct platform_device *pdev)
return err;
}
-static int lan966x_remove(struct platform_device *pdev)
+static void lan966x_remove(struct platform_device *pdev)
{
struct lan966x *lan966x = platform_get_drvdata(pdev);
@@ -1280,13 +1280,11 @@ static int lan966x_remove(struct platform_device *pdev)
lan966x_ptp_deinit(lan966x);
debugfs_remove_recursive(lan966x->debugfs_root);
-
- return 0;
}
static struct platform_driver lan966x_driver = {
.probe = lan966x_probe,
- .remove = lan966x_remove,
+ .remove_new = lan966x_remove,
.driver = {
.name = "lan966x-switch",
.of_match_table = lan966x_match,
diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_main.c b/drivers/net/ethernet/microchip/sparx5/sparx5_main.c
index dc9af480bfea..d1f7fc8b1b71 100644
--- a/drivers/net/ethernet/microchip/sparx5/sparx5_main.c
+++ b/drivers/net/ethernet/microchip/sparx5/sparx5_main.c
@@ -911,7 +911,7 @@ static int mchp_sparx5_probe(struct platform_device *pdev)
return err;
}
-static int mchp_sparx5_remove(struct platform_device *pdev)
+static void mchp_sparx5_remove(struct platform_device *pdev)
{
struct sparx5 *sparx5 = platform_get_drvdata(pdev);
@@ -931,8 +931,6 @@ static int mchp_sparx5_remove(struct platform_device *pdev)
/* Unregister netdevs */
sparx5_unregister_notifier_blocks(sparx5);
destroy_workqueue(sparx5->mact_queue);
-
- return 0;
}
static const struct of_device_id mchp_sparx5_match[] = {
@@ -943,7 +941,7 @@ MODULE_DEVICE_TABLE(of, mchp_sparx5_match);
static struct platform_driver mchp_sparx5_driver = {
.probe = mchp_sparx5_probe,
- .remove = mchp_sparx5_remove,
+ .remove_new = mchp_sparx5_remove,
.driver = {
.name = "sparx5-switch",
.of_match_table = mchp_sparx5_match,
--
2.40.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH net-next 39/54] net: ethernet: nxp: Convert to platform remove callback returning void
[not found] <20230918204227.1316886-1-u.kleine-koenig@pengutronix.de>
` (5 preceding siblings ...)
2023-09-18 20:42 ` [PATCH net-next 33/54] net: ethernet: microchip: " Uwe Kleine-König
@ 2023-09-18 20:42 ` Uwe Kleine-König
2023-09-18 20:42 ` [PATCH net-next 53/54] net: ethernet: xilinx: " Uwe Kleine-König
7 siblings, 0 replies; 11+ messages in thread
From: Uwe Kleine-König @ 2023-09-18 20:42 UTC (permalink / raw)
To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni
Cc: Vladimir Zapolskiy, linux-arm-kernel, netdev, kernel
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() is renamed to .remove().
Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
drivers/net/ethernet/nxp/lpc_eth.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/nxp/lpc_eth.c b/drivers/net/ethernet/nxp/lpc_eth.c
index 1a4a272f4c5c..dd3e58a1319c 100644
--- a/drivers/net/ethernet/nxp/lpc_eth.c
+++ b/drivers/net/ethernet/nxp/lpc_eth.c
@@ -1417,7 +1417,7 @@ static int lpc_eth_drv_probe(struct platform_device *pdev)
return ret;
}
-static int lpc_eth_drv_remove(struct platform_device *pdev)
+static void lpc_eth_drv_remove(struct platform_device *pdev)
{
struct net_device *ndev = platform_get_drvdata(pdev);
struct netdata_local *pldat = netdev_priv(ndev);
@@ -1436,8 +1436,6 @@ static int lpc_eth_drv_remove(struct platform_device *pdev)
clk_disable_unprepare(pldat->clk);
clk_put(pldat->clk);
free_netdev(ndev);
-
- return 0;
}
#ifdef CONFIG_PM
@@ -1505,7 +1503,7 @@ MODULE_DEVICE_TABLE(of, lpc_eth_match);
static struct platform_driver lpc_eth_driver = {
.probe = lpc_eth_drv_probe,
- .remove = lpc_eth_drv_remove,
+ .remove_new = lpc_eth_drv_remove,
#ifdef CONFIG_PM
.suspend = lpc_eth_drv_suspend,
.resume = lpc_eth_drv_resume,
--
2.40.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH net-next 53/54] net: ethernet: xilinx: Convert to platform remove callback returning void
[not found] <20230918204227.1316886-1-u.kleine-koenig@pengutronix.de>
` (6 preceding siblings ...)
2023-09-18 20:42 ` [PATCH net-next 39/54] net: ethernet: nxp: " Uwe Kleine-König
@ 2023-09-18 20:42 ` Uwe Kleine-König
2023-09-19 4:45 ` Pandey, Radhey Shyam
7 siblings, 1 reply; 11+ messages in thread
From: Uwe Kleine-König @ 2023-09-18 20:42 UTC (permalink / raw)
To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni
Cc: Michal Simek, Radhey Shyam Pandey, Harini Katakam, Haoyue Xu,
huangjunxian, Rob Herring, Yang Yingliang, Dan Carpenter,
Bhupesh Sharma, Simon Horman, Alex Elder, Wei Fang, netdev,
linux-arm-kernel, kernel
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() is renamed to .remove().
Trivially convert these drivers from always returning zero in the remove
callback to the void returning variant.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
drivers/net/ethernet/xilinx/ll_temac_main.c | 5 ++---
drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 6 ++----
drivers/net/ethernet/xilinx/xilinx_emaclite.c | 6 ++----
3 files changed, 6 insertions(+), 11 deletions(-)
diff --git a/drivers/net/ethernet/xilinx/ll_temac_main.c b/drivers/net/ethernet/xilinx/ll_temac_main.c
index 1444b855e7aa..9df39cf8b097 100644
--- a/drivers/net/ethernet/xilinx/ll_temac_main.c
+++ b/drivers/net/ethernet/xilinx/ll_temac_main.c
@@ -1626,7 +1626,7 @@ static int temac_probe(struct platform_device *pdev)
return rc;
}
-static int temac_remove(struct platform_device *pdev)
+static void temac_remove(struct platform_device *pdev)
{
struct net_device *ndev = platform_get_drvdata(pdev);
struct temac_local *lp = netdev_priv(ndev);
@@ -1636,7 +1636,6 @@ static int temac_remove(struct platform_device *pdev)
if (lp->phy_node)
of_node_put(lp->phy_node);
temac_mdio_teardown(lp);
- return 0;
}
static const struct of_device_id temac_of_match[] = {
@@ -1650,7 +1649,7 @@ MODULE_DEVICE_TABLE(of, temac_of_match);
static struct platform_driver temac_driver = {
.probe = temac_probe,
- .remove = temac_remove,
+ .remove_new = temac_remove,
.driver = {
.name = "xilinx_temac",
.of_match_table = temac_of_match,
diff --git a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
index b7ec4dafae90..82d0d44b2b02 100644
--- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
+++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
@@ -2183,7 +2183,7 @@ static int axienet_probe(struct platform_device *pdev)
return ret;
}
-static int axienet_remove(struct platform_device *pdev)
+static void axienet_remove(struct platform_device *pdev)
{
struct net_device *ndev = platform_get_drvdata(pdev);
struct axienet_local *lp = netdev_priv(ndev);
@@ -2202,8 +2202,6 @@ static int axienet_remove(struct platform_device *pdev)
clk_disable_unprepare(lp->axi_clk);
free_netdev(ndev);
-
- return 0;
}
static void axienet_shutdown(struct platform_device *pdev)
@@ -2256,7 +2254,7 @@ static DEFINE_SIMPLE_DEV_PM_OPS(axienet_pm_ops,
static struct platform_driver axienet_driver = {
.probe = axienet_probe,
- .remove = axienet_remove,
+ .remove_new = axienet_remove,
.shutdown = axienet_shutdown,
.driver = {
.name = "xilinx_axienet",
diff --git a/drivers/net/ethernet/xilinx/xilinx_emaclite.c b/drivers/net/ethernet/xilinx/xilinx_emaclite.c
index b358ecc67227..32a502e7318b 100644
--- a/drivers/net/ethernet/xilinx/xilinx_emaclite.c
+++ b/drivers/net/ethernet/xilinx/xilinx_emaclite.c
@@ -1183,7 +1183,7 @@ static int xemaclite_of_probe(struct platform_device *ofdev)
*
* Return: 0, always.
*/
-static int xemaclite_of_remove(struct platform_device *of_dev)
+static void xemaclite_of_remove(struct platform_device *of_dev)
{
struct net_device *ndev = platform_get_drvdata(of_dev);
@@ -1202,8 +1202,6 @@ static int xemaclite_of_remove(struct platform_device *of_dev)
lp->phy_node = NULL;
free_netdev(ndev);
-
- return 0;
}
#ifdef CONFIG_NET_POLL_CONTROLLER
@@ -1262,7 +1260,7 @@ static struct platform_driver xemaclite_of_driver = {
.of_match_table = xemaclite_of_match,
},
.probe = xemaclite_of_probe,
- .remove = xemaclite_of_remove,
+ .remove_new = xemaclite_of_remove,
};
module_platform_driver(xemaclite_of_driver);
--
2.40.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 11+ messages in thread
* RE: [PATCH net-next 53/54] net: ethernet: xilinx: Convert to platform remove callback returning void
2023-09-18 20:42 ` [PATCH net-next 53/54] net: ethernet: xilinx: " Uwe Kleine-König
@ 2023-09-19 4:45 ` Pandey, Radhey Shyam
2023-09-19 8:33 ` Uwe Kleine-König
0 siblings, 1 reply; 11+ messages in thread
From: Pandey, Radhey Shyam @ 2023-09-19 4:45 UTC (permalink / raw)
To: Uwe Kleine-König, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni
Cc: Simek, Michal, Katakam, Harini, Haoyue Xu, huangjunxian,
Rob Herring, Yang Yingliang, Dan Carpenter, Bhupesh Sharma,
Simon Horman, Alex Elder, Wei Fang, netdev@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, kernel@pengutronix.de
> -----Original Message-----
> From: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> Sent: Tuesday, September 19, 2023 2:12 AM
> To: David S. Miller <davem@davemloft.net>; Eric Dumazet
> <edumazet@google.com>; Jakub Kicinski <kuba@kernel.org>; Paolo Abeni
> <pabeni@redhat.com>
> Cc: Simek, Michal <michal.simek@amd.com>; Pandey, Radhey Shyam
> <radhey.shyam.pandey@amd.com>; Katakam, Harini
> <harini.katakam@amd.com>; Haoyue Xu <xuhaoyue1@hisilicon.com>;
> huangjunxian <huangjunxian6@hisilicon.com>; Rob Herring
> <robh@kernel.org>; Yang Yingliang <yangyingliang@huawei.com>; Dan
> Carpenter <dan.carpenter@linaro.org>; Bhupesh Sharma
> <bhupesh.sharma@linaro.org>; Simon Horman <horms@kernel.org>; Alex
> Elder <elder@linaro.org>; Wei Fang <wei.fang@nxp.com>;
> netdev@vger.kernel.org; linux-arm-kernel@lists.infradead.org;
> kernel@pengutronix.de
> Subject: [PATCH net-next 53/54] net: ethernet: xilinx: Convert to platform
> remove callback returning void
>
> The .remove() callback for a platform driver returns an int which makes
> many driver authors wrongly assume it's possible to do error handling by
> returning an error code. However the value returned is ignored (apart
> from emitting a warning) and this typically results in resource leaks.
> To improve here there is a quest to make the remove callback return
> void. In the first step of this quest all drivers are converted to
> .remove_new() which already returns void. Eventually after all drivers
> are converted, .remove_new() is renamed to .remove().
>
> Trivially convert these drivers from always returning zero in the remove
> callback to the void returning variant.
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> ---
> drivers/net/ethernet/xilinx/ll_temac_main.c | 5 ++---
> drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 6 ++----
> drivers/net/ethernet/xilinx/xilinx_emaclite.c | 6 ++----
> 3 files changed, 6 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/net/ethernet/xilinx/ll_temac_main.c
> b/drivers/net/ethernet/xilinx/ll_temac_main.c
> index 1444b855e7aa..9df39cf8b097 100644
> --- a/drivers/net/ethernet/xilinx/ll_temac_main.c
> +++ b/drivers/net/ethernet/xilinx/ll_temac_main.c
> @@ -1626,7 +1626,7 @@ static int temac_probe(struct platform_device
> *pdev)
> return rc;
> }
>
> -static int temac_remove(struct platform_device *pdev)
> +static void temac_remove(struct platform_device *pdev)
> {
> struct net_device *ndev = platform_get_drvdata(pdev);
> struct temac_local *lp = netdev_priv(ndev);
> @@ -1636,7 +1636,6 @@ static int temac_remove(struct platform_device
> *pdev)
> if (lp->phy_node)
> of_node_put(lp->phy_node);
> temac_mdio_teardown(lp);
> - return 0;
> }
>
> static const struct of_device_id temac_of_match[] = {
> @@ -1650,7 +1649,7 @@ MODULE_DEVICE_TABLE(of, temac_of_match);
>
> static struct platform_driver temac_driver = {
> .probe = temac_probe,
> - .remove = temac_remove,
> + .remove_new = temac_remove,
> .driver = {
> .name = "xilinx_temac",
> .of_match_table = temac_of_match,
> diff --git a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
> b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
> index b7ec4dafae90..82d0d44b2b02 100644
> --- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
> +++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
> @@ -2183,7 +2183,7 @@ static int axienet_probe(struct platform_device
> *pdev)
> return ret;
> }
>
> -static int axienet_remove(struct platform_device *pdev)
> +static void axienet_remove(struct platform_device *pdev)
> {
> struct net_device *ndev = platform_get_drvdata(pdev);
> struct axienet_local *lp = netdev_priv(ndev);
> @@ -2202,8 +2202,6 @@ static int axienet_remove(struct platform_device
> *pdev)
> clk_disable_unprepare(lp->axi_clk);
>
> free_netdev(ndev);
> -
> - return 0;
> }
>
> static void axienet_shutdown(struct platform_device *pdev)
> @@ -2256,7 +2254,7 @@ static
> DEFINE_SIMPLE_DEV_PM_OPS(axienet_pm_ops,
>
> static struct platform_driver axienet_driver = {
> .probe = axienet_probe,
> - .remove = axienet_remove,
> + .remove_new = axienet_remove,
> .shutdown = axienet_shutdown,
> .driver = {
> .name = "xilinx_axienet",
> diff --git a/drivers/net/ethernet/xilinx/xilinx_emaclite.c
> b/drivers/net/ethernet/xilinx/xilinx_emaclite.c
> index b358ecc67227..32a502e7318b 100644
> --- a/drivers/net/ethernet/xilinx/xilinx_emaclite.c
> +++ b/drivers/net/ethernet/xilinx/xilinx_emaclite.c
> @@ -1183,7 +1183,7 @@ static int xemaclite_of_probe(struct
> platform_device *ofdev)
> *
> * Return: 0, always.
> */
Nit - kernel-doc return documentation needs to be updated.
> -static int xemaclite_of_remove(struct platform_device *of_dev)
> +static void xemaclite_of_remove(struct platform_device *of_dev)
> {
> struct net_device *ndev = platform_get_drvdata(of_dev);
>
> @@ -1202,8 +1202,6 @@ static int xemaclite_of_remove(struct
> platform_device *of_dev)
> lp->phy_node = NULL;
>
> free_netdev(ndev);
> -
> - return 0;
> }
>
> #ifdef CONFIG_NET_POLL_CONTROLLER
> @@ -1262,7 +1260,7 @@ static struct platform_driver xemaclite_of_driver =
> {
> .of_match_table = xemaclite_of_match,
> },
> .probe = xemaclite_of_probe,
> - .remove = xemaclite_of_remove,
> + .remove_new = xemaclite_of_remove,
> };
>
> module_platform_driver(xemaclite_of_driver);
> --
> 2.40.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH net-next 53/54] net: ethernet: xilinx: Convert to platform remove callback returning void
2023-09-19 4:45 ` Pandey, Radhey Shyam
@ 2023-09-19 8:33 ` Uwe Kleine-König
0 siblings, 0 replies; 11+ messages in thread
From: Uwe Kleine-König @ 2023-09-19 8:33 UTC (permalink / raw)
To: Pandey, Radhey Shyam
Cc: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Katakam, Harini, Rob Herring, kernel@pengutronix.de,
Bhupesh Sharma, netdev@vger.kernel.org, Alex Elder, Simon Horman,
Wei Fang, linux-arm-kernel@lists.infradead.org, huangjunxian,
Yang Yingliang, Simek, Michal, Haoyue Xu, Dan Carpenter
[-- Attachment #1.1: Type: text/plain, Size: 5498 bytes --]
Hello,
[dropped Bhupesh Sharma from the list of recipents, usage of their email
address resulted in a bounce.]
On Tue, Sep 19, 2023 at 04:45:04AM +0000, Pandey, Radhey Shyam wrote:
> > -----Original Message-----
> > From: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> > Sent: Tuesday, September 19, 2023 2:12 AM
> > To: David S. Miller <davem@davemloft.net>; Eric Dumazet
> > <edumazet@google.com>; Jakub Kicinski <kuba@kernel.org>; Paolo Abeni
> > <pabeni@redhat.com>
> > Cc: Simek, Michal <michal.simek@amd.com>; Pandey, Radhey Shyam
> > <radhey.shyam.pandey@amd.com>; Katakam, Harini
> > <harini.katakam@amd.com>; Haoyue Xu <xuhaoyue1@hisilicon.com>;
> > huangjunxian <huangjunxian6@hisilicon.com>; Rob Herring
> > <robh@kernel.org>; Yang Yingliang <yangyingliang@huawei.com>; Dan
> > Carpenter <dan.carpenter@linaro.org>; Bhupesh Sharma
> > <bhupesh.sharma@linaro.org>; Simon Horman <horms@kernel.org>; Alex
> > Elder <elder@linaro.org>; Wei Fang <wei.fang@nxp.com>;
> > netdev@vger.kernel.org; linux-arm-kernel@lists.infradead.org;
> > kernel@pengutronix.de
> > Subject: [PATCH net-next 53/54] net: ethernet: xilinx: Convert to platform
> > remove callback returning void
> >
> > The .remove() callback for a platform driver returns an int which makes
> > many driver authors wrongly assume it's possible to do error handling by
> > returning an error code. However the value returned is ignored (apart
> > from emitting a warning) and this typically results in resource leaks.
> > To improve here there is a quest to make the remove callback return
> > void. In the first step of this quest all drivers are converted to
> > .remove_new() which already returns void. Eventually after all drivers
> > are converted, .remove_new() is renamed to .remove().
> >
> > Trivially convert these drivers from always returning zero in the remove
> > callback to the void returning variant.
> >
> > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> > ---
> > drivers/net/ethernet/xilinx/ll_temac_main.c | 5 ++---
> > drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 6 ++----
> > drivers/net/ethernet/xilinx/xilinx_emaclite.c | 6 ++----
> > 3 files changed, 6 insertions(+), 11 deletions(-)
> >
> > diff --git a/drivers/net/ethernet/xilinx/ll_temac_main.c
> > b/drivers/net/ethernet/xilinx/ll_temac_main.c
> > index 1444b855e7aa..9df39cf8b097 100644
> > --- a/drivers/net/ethernet/xilinx/ll_temac_main.c
> > +++ b/drivers/net/ethernet/xilinx/ll_temac_main.c
> > @@ -1626,7 +1626,7 @@ static int temac_probe(struct platform_device
> > *pdev)
> > return rc;
> > }
> >
> > -static int temac_remove(struct platform_device *pdev)
> > +static void temac_remove(struct platform_device *pdev)
> > {
> > struct net_device *ndev = platform_get_drvdata(pdev);
> > struct temac_local *lp = netdev_priv(ndev);
> > @@ -1636,7 +1636,6 @@ static int temac_remove(struct platform_device
> > *pdev)
> > if (lp->phy_node)
> > of_node_put(lp->phy_node);
> > temac_mdio_teardown(lp);
> > - return 0;
> > }
> >
> > static const struct of_device_id temac_of_match[] = {
> > @@ -1650,7 +1649,7 @@ MODULE_DEVICE_TABLE(of, temac_of_match);
> >
> > static struct platform_driver temac_driver = {
> > .probe = temac_probe,
> > - .remove = temac_remove,
> > + .remove_new = temac_remove,
> > .driver = {
> > .name = "xilinx_temac",
> > .of_match_table = temac_of_match,
> > diff --git a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
> > b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
> > index b7ec4dafae90..82d0d44b2b02 100644
> > --- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
> > +++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
> > @@ -2183,7 +2183,7 @@ static int axienet_probe(struct platform_device
> > *pdev)
> > return ret;
> > }
> >
> > -static int axienet_remove(struct platform_device *pdev)
> > +static void axienet_remove(struct platform_device *pdev)
> > {
> > struct net_device *ndev = platform_get_drvdata(pdev);
> > struct axienet_local *lp = netdev_priv(ndev);
> > @@ -2202,8 +2202,6 @@ static int axienet_remove(struct platform_device
> > *pdev)
> > clk_disable_unprepare(lp->axi_clk);
> >
> > free_netdev(ndev);
> > -
> > - return 0;
> > }
> >
> > static void axienet_shutdown(struct platform_device *pdev)
> > @@ -2256,7 +2254,7 @@ static
> > DEFINE_SIMPLE_DEV_PM_OPS(axienet_pm_ops,
> >
> > static struct platform_driver axienet_driver = {
> > .probe = axienet_probe,
> > - .remove = axienet_remove,
> > + .remove_new = axienet_remove,
> > .shutdown = axienet_shutdown,
> > .driver = {
> > .name = "xilinx_axienet",
> > diff --git a/drivers/net/ethernet/xilinx/xilinx_emaclite.c
> > b/drivers/net/ethernet/xilinx/xilinx_emaclite.c
> > index b358ecc67227..32a502e7318b 100644
> > --- a/drivers/net/ethernet/xilinx/xilinx_emaclite.c
> > +++ b/drivers/net/ethernet/xilinx/xilinx_emaclite.c
> > @@ -1183,7 +1183,7 @@ static int xemaclite_of_probe(struct
> > platform_device *ofdev)
> > *
> > * Return: 0, always.
> > */
>
> Nit - kernel-doc return documentation needs to be updated.
Indeed, I fixed that in my tree and so it will be addressed if and when
I resend this patch.
Thanks
Uwe
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | https://www.pengutronix.de/ |
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
[-- Attachment #2: Type: text/plain, Size: 176 bytes --]
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH net-next 04/54] net: ethernet: allwinner: Convert to platform remove callback returning void
2023-09-18 20:41 ` [PATCH net-next 04/54] net: ethernet: allwinner: " Uwe Kleine-König
@ 2023-09-19 17:22 ` Jernej Škrabec
0 siblings, 0 replies; 11+ messages in thread
From: Jernej Škrabec @ 2023-09-19 17:22 UTC (permalink / raw)
To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Uwe Kleine-König
Cc: Chen-Yu Tsai, Samuel Holland, netdev, linux-arm-kernel,
linux-sunxi, kernel
Dne ponedeljek, 18. september 2023 ob 22:41:36 CEST je Uwe Kleine-König
napisal(a):
> The .remove() callback for a platform driver returns an int which makes
> many driver authors wrongly assume it's possible to do error handling by
> returning an error code. However the value returned is ignored (apart
> from emitting a warning) and this typically results in resource leaks.
> To improve here there is a quest to make the remove callback return
> void. In the first step of this quest all drivers are converted to
> .remove_new() which already returns void. Eventually after all drivers
> are converted, .remove_new() is renamed to .remove().
>
> Trivially convert this driver from always returning zero in the remove
> callback to the void returning variant.
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Best regards,
Jernej
> ---
> drivers/net/ethernet/allwinner/sun4i-emac.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/ethernet/allwinner/sun4i-emac.c
> b/drivers/net/ethernet/allwinner/sun4i-emac.c index
> a94c62956eed..d761c08fe5c1 100644
> --- a/drivers/net/ethernet/allwinner/sun4i-emac.c
> +++ b/drivers/net/ethernet/allwinner/sun4i-emac.c
> @@ -1083,7 +1083,7 @@ static int emac_probe(struct platform_device *pdev)
> return ret;
> }
>
> -static int emac_remove(struct platform_device *pdev)
> +static void emac_remove(struct platform_device *pdev)
> {
> struct net_device *ndev = platform_get_drvdata(pdev);
> struct emac_board_info *db = netdev_priv(ndev);
> @@ -1101,7 +1101,6 @@ static int emac_remove(struct platform_device *pdev)
> free_netdev(ndev);
>
> dev_dbg(&pdev->dev, "released and freed device\n");
> - return 0;
> }
>
> static int emac_suspend(struct platform_device *dev, pm_message_t state)
> @@ -1143,7 +1142,7 @@ static struct platform_driver emac_driver = {
> .of_match_table = emac_of_match,
> },
> .probe = emac_probe,
> - .remove = emac_remove,
> + .remove_new = emac_remove,
> .suspend = emac_suspend,
> .resume = emac_resume,
> };
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2023-09-19 17:23 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20230918204227.1316886-1-u.kleine-koenig@pengutronix.de>
2023-09-18 20:41 ` [PATCH net-next 02/54] net: ethernet: actions: Convert to platform remove callback returning void Uwe Kleine-König
2023-09-18 20:41 ` [PATCH net-next 04/54] net: ethernet: allwinner: " Uwe Kleine-König
2023-09-19 17:22 ` Jernej Škrabec
2023-09-18 20:41 ` [PATCH net-next 09/54] net: ethernet: arc: " Uwe Kleine-König
2023-09-18 20:41 ` [PATCH net-next 16/54] net: ethernet: cortina: " Uwe Kleine-König
2023-09-18 20:42 ` [PATCH net-next 30/54] net: ethernet: mediatek: " Uwe Kleine-König
2023-09-18 20:42 ` [PATCH net-next 33/54] net: ethernet: microchip: " Uwe Kleine-König
2023-09-18 20:42 ` [PATCH net-next 39/54] net: ethernet: nxp: " Uwe Kleine-König
2023-09-18 20:42 ` [PATCH net-next 53/54] net: ethernet: xilinx: " Uwe Kleine-König
2023-09-19 4:45 ` Pandey, Radhey Shyam
2023-09-19 8:33 ` Uwe Kleine-König
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox