* [PATCH net-next 0/9] net: dsa: Convert to platform remove callback returning void
@ 2023-09-18 19:19 Uwe Kleine-König
2023-09-18 19:19 ` [PATCH net-next 1/9] net: dsa: b53: " Uwe Kleine-König
` (9 more replies)
0 siblings, 10 replies; 31+ messages in thread
From: Uwe Kleine-König @ 2023-09-18 19:19 UTC (permalink / raw)
To: Florian Fainelli, Andrew Lunn, Vladimir Oltean, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Kurt Kanzenbach,
Florian Fainelli, Hauke Mehrtens, Arınç ÜNAL,
Daniel Golle, Landen Chao, DENG Qingfang, Sean Wang,
Matthias Brugger, Colin Foster, Vladimir Oltean, Claudiu Manoil,
Alexandre Belloni, UNGLinuxDriver, Linus Walleij,
Alvin Šipraga, Clément Léger
Cc: netdev, kernel, AngeloGioacchino Del Regno, linux-arm-kernel,
linux-mediatek, linux-renesas-soc
Hello,
this series converts all platform drivers below drivers/net/dsa to use
remove_new. The motivation is to get rid of an integer return code
that is (mostly) ignored by the platform driver core and error prone on
the driver side.
See commit 5c5a7680e67b ("platform: Provide a remove callback that
returns no value") for an extended explanation and the eventual goal.
There are no interdependencies between the patches. As there are still
quite a few drivers to convert, I'm happy about every patch that makes
it in. So even if there is a merge conflict with one patch until you
apply or a subject prefix is suboptimal, please apply the remainder of
this series anyhow.
Best regards
Uwe
Uwe Kleine-König (9):
net: dsa: b53: Convert to platform remove callback returning void
net: dsa: bcm_sf2: Convert to platform remove callback returning void
net: dsa: hirschmann: Convert to platform remove callback returning
void
net: dsa: lantiq_gswip: Convert to platform remove callback returning
void
net: dsa: mt7530: Convert to platform remove callback returning void
net: dsa: ocelot: Convert to platform remove callback returning void
net: dsa: realtek: Convert to platform remove callback returning void
net: dsa: rzn1_a5psw: Convert to platform remove callback returning
void
net: dsa: vitesse-vsc73xx: Convert to platform remove callback
returning void
drivers/net/dsa/b53/b53_mmap.c | 6 ++----
drivers/net/dsa/b53/b53_srab.c | 8 +++-----
drivers/net/dsa/bcm_sf2.c | 8 +++-----
drivers/net/dsa/hirschmann/hellcreek.c | 8 +++-----
drivers/net/dsa/lantiq_gswip.c | 8 +++-----
drivers/net/dsa/mt7530-mmio.c | 7 ++-----
drivers/net/dsa/ocelot/ocelot_ext.c | 8 +++-----
drivers/net/dsa/ocelot/seville_vsc9953.c | 8 +++-----
drivers/net/dsa/realtek/realtek-smi.c | 8 +++-----
drivers/net/dsa/rzn1_a5psw.c | 8 +++-----
drivers/net/dsa/vitesse-vsc73xx-platform.c | 8 +++-----
11 files changed, 31 insertions(+), 54 deletions(-)
base-commit: 7fc7222d9680366edeecc219c21ca96310bdbc10
--
2.40.1
^ permalink raw reply [flat|nested] 31+ messages in thread
* [PATCH net-next 1/9] net: dsa: b53: Convert to platform remove callback returning void
2023-09-18 19:19 [PATCH net-next 0/9] net: dsa: Convert to platform remove callback returning void Uwe Kleine-König
@ 2023-09-18 19:19 ` Uwe Kleine-König
2023-09-18 19:26 ` Florian Fainelli
2023-09-18 19:19 ` [PATCH net-next 2/9] net: dsa: bcm_sf2: " Uwe Kleine-König
` (8 subsequent siblings)
9 siblings, 1 reply; 31+ messages in thread
From: Uwe Kleine-König @ 2023-09-18 19:19 UTC (permalink / raw)
To: Florian Fainelli, Andrew Lunn, Vladimir Oltean, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni
Cc: 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 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/dsa/b53/b53_mmap.c | 6 ++----
drivers/net/dsa/b53/b53_srab.c | 8 +++-----
2 files changed, 5 insertions(+), 9 deletions(-)
diff --git a/drivers/net/dsa/b53/b53_mmap.c b/drivers/net/dsa/b53/b53_mmap.c
index 5e39641ea887..3a89349dc918 100644
--- a/drivers/net/dsa/b53/b53_mmap.c
+++ b/drivers/net/dsa/b53/b53_mmap.c
@@ -324,14 +324,12 @@ static int b53_mmap_probe(struct platform_device *pdev)
return b53_switch_register(dev);
}
-static int b53_mmap_remove(struct platform_device *pdev)
+static void b53_mmap_remove(struct platform_device *pdev)
{
struct b53_device *dev = platform_get_drvdata(pdev);
if (dev)
b53_switch_remove(dev);
-
- return 0;
}
static void b53_mmap_shutdown(struct platform_device *pdev)
@@ -372,7 +370,7 @@ MODULE_DEVICE_TABLE(of, b53_mmap_of_table);
static struct platform_driver b53_mmap_driver = {
.probe = b53_mmap_probe,
- .remove = b53_mmap_remove,
+ .remove_new = b53_mmap_remove,
.shutdown = b53_mmap_shutdown,
.driver = {
.name = "b53-switch",
diff --git a/drivers/net/dsa/b53/b53_srab.c b/drivers/net/dsa/b53/b53_srab.c
index bcb44034404d..f3f95332ff17 100644
--- a/drivers/net/dsa/b53/b53_srab.c
+++ b/drivers/net/dsa/b53/b53_srab.c
@@ -657,17 +657,15 @@ static int b53_srab_probe(struct platform_device *pdev)
return b53_switch_register(dev);
}
-static int b53_srab_remove(struct platform_device *pdev)
+static void b53_srab_remove(struct platform_device *pdev)
{
struct b53_device *dev = platform_get_drvdata(pdev);
if (!dev)
- return 0;
+ return;
b53_srab_intr_set(dev->priv, false);
b53_switch_remove(dev);
-
- return 0;
}
static void b53_srab_shutdown(struct platform_device *pdev)
@@ -684,7 +682,7 @@ static void b53_srab_shutdown(struct platform_device *pdev)
static struct platform_driver b53_srab_driver = {
.probe = b53_srab_probe,
- .remove = b53_srab_remove,
+ .remove_new = b53_srab_remove,
.shutdown = b53_srab_shutdown,
.driver = {
.name = "b53-srab-switch",
--
2.40.1
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH net-next 2/9] net: dsa: bcm_sf2: Convert to platform remove callback returning void
2023-09-18 19:19 [PATCH net-next 0/9] net: dsa: Convert to platform remove callback returning void Uwe Kleine-König
2023-09-18 19:19 ` [PATCH net-next 1/9] net: dsa: b53: " Uwe Kleine-König
@ 2023-09-18 19:19 ` Uwe Kleine-König
2023-09-18 19:26 ` Florian Fainelli
2023-09-18 19:19 ` [PATCH net-next 3/9] net: dsa: hirschmann: " Uwe Kleine-König
` (7 subsequent siblings)
9 siblings, 1 reply; 31+ messages in thread
From: Uwe Kleine-König @ 2023-09-18 19:19 UTC (permalink / raw)
To: Florian Fainelli, Andrew Lunn, Vladimir Oltean, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni
Cc: 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/dsa/bcm_sf2.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/drivers/net/dsa/bcm_sf2.c b/drivers/net/dsa/bcm_sf2.c
index 72374b066f64..0b62bd78ac50 100644
--- a/drivers/net/dsa/bcm_sf2.c
+++ b/drivers/net/dsa/bcm_sf2.c
@@ -1537,12 +1537,12 @@ static int bcm_sf2_sw_probe(struct platform_device *pdev)
return ret;
}
-static int bcm_sf2_sw_remove(struct platform_device *pdev)
+static void bcm_sf2_sw_remove(struct platform_device *pdev)
{
struct bcm_sf2_priv *priv = platform_get_drvdata(pdev);
if (!priv)
- return 0;
+ return;
priv->wol_ports_mask = 0;
/* Disable interrupts */
@@ -1554,8 +1554,6 @@ static int bcm_sf2_sw_remove(struct platform_device *pdev)
clk_disable_unprepare(priv->clk);
if (priv->type == BCM7278_DEVICE_ID)
reset_control_assert(priv->rcdev);
-
- return 0;
}
static void bcm_sf2_sw_shutdown(struct platform_device *pdev)
@@ -1601,7 +1599,7 @@ static SIMPLE_DEV_PM_OPS(bcm_sf2_pm_ops,
static struct platform_driver bcm_sf2_driver = {
.probe = bcm_sf2_sw_probe,
- .remove = bcm_sf2_sw_remove,
+ .remove_new = bcm_sf2_sw_remove,
.shutdown = bcm_sf2_sw_shutdown,
.driver = {
.name = "brcm-sf2",
--
2.40.1
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH net-next 3/9] net: dsa: hirschmann: Convert to platform remove callback returning void
2023-09-18 19:19 [PATCH net-next 0/9] net: dsa: Convert to platform remove callback returning void Uwe Kleine-König
2023-09-18 19:19 ` [PATCH net-next 1/9] net: dsa: b53: " Uwe Kleine-König
2023-09-18 19:19 ` [PATCH net-next 2/9] net: dsa: bcm_sf2: " Uwe Kleine-König
@ 2023-09-18 19:19 ` Uwe Kleine-König
2023-09-18 20:26 ` Andrew Lunn
` (2 more replies)
2023-09-18 19:19 ` [PATCH net-next 4/9] net: dsa: lantiq_gswip: " Uwe Kleine-König
` (6 subsequent siblings)
9 siblings, 3 replies; 31+ messages in thread
From: Uwe Kleine-König @ 2023-09-18 19:19 UTC (permalink / raw)
To: Kurt Kanzenbach, Andrew Lunn, Florian Fainelli, Vladimir Oltean,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni
Cc: 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/dsa/hirschmann/hellcreek.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/drivers/net/dsa/hirschmann/hellcreek.c b/drivers/net/dsa/hirschmann/hellcreek.c
index 11ef1d7ea229..beda1e9d350f 100644
--- a/drivers/net/dsa/hirschmann/hellcreek.c
+++ b/drivers/net/dsa/hirschmann/hellcreek.c
@@ -2060,18 +2060,16 @@ static int hellcreek_probe(struct platform_device *pdev)
return ret;
}
-static int hellcreek_remove(struct platform_device *pdev)
+static void hellcreek_remove(struct platform_device *pdev)
{
struct hellcreek *hellcreek = platform_get_drvdata(pdev);
if (!hellcreek)
- return 0;
+ return;
hellcreek_hwtstamp_free(hellcreek);
hellcreek_ptp_free(hellcreek);
dsa_unregister_switch(hellcreek->ds);
-
- return 0;
}
static void hellcreek_shutdown(struct platform_device *pdev)
@@ -2107,7 +2105,7 @@ MODULE_DEVICE_TABLE(of, hellcreek_of_match);
static struct platform_driver hellcreek_driver = {
.probe = hellcreek_probe,
- .remove = hellcreek_remove,
+ .remove_new = hellcreek_remove,
.shutdown = hellcreek_shutdown,
.driver = {
.name = "hellcreek",
--
2.40.1
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH net-next 4/9] net: dsa: lantiq_gswip: Convert to platform remove callback returning void
2023-09-18 19:19 [PATCH net-next 0/9] net: dsa: Convert to platform remove callback returning void Uwe Kleine-König
` (2 preceding siblings ...)
2023-09-18 19:19 ` [PATCH net-next 3/9] net: dsa: hirschmann: " Uwe Kleine-König
@ 2023-09-18 19:19 ` Uwe Kleine-König
2023-09-18 20:26 ` Andrew Lunn
2023-09-18 20:51 ` Florian Fainelli
2023-09-18 19:19 ` [PATCH net-next 5/9] net: dsa: mt7530: " Uwe Kleine-König
` (5 subsequent siblings)
9 siblings, 2 replies; 31+ messages in thread
From: Uwe Kleine-König @ 2023-09-18 19:19 UTC (permalink / raw)
To: Hauke Mehrtens, Andrew Lunn, Florian Fainelli, Vladimir Oltean,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni
Cc: 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/dsa/lantiq_gswip.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/drivers/net/dsa/lantiq_gswip.c b/drivers/net/dsa/lantiq_gswip.c
index 3c76a1a14aee..25abf2caf5fb 100644
--- a/drivers/net/dsa/lantiq_gswip.c
+++ b/drivers/net/dsa/lantiq_gswip.c
@@ -2207,13 +2207,13 @@ static int gswip_probe(struct platform_device *pdev)
return err;
}
-static int gswip_remove(struct platform_device *pdev)
+static void gswip_remove(struct platform_device *pdev)
{
struct gswip_priv *priv = platform_get_drvdata(pdev);
int i;
if (!priv)
- return 0;
+ return;
/* disable the switch */
gswip_mdio_mask(priv, GSWIP_MDIO_GLOB_ENABLE, 0, GSWIP_MDIO_GLOB);
@@ -2228,8 +2228,6 @@ static int gswip_remove(struct platform_device *pdev)
for (i = 0; i < priv->num_gphy_fw; i++)
gswip_gphy_fw_remove(priv, &priv->gphy_fw[i]);
-
- return 0;
}
static void gswip_shutdown(struct platform_device *pdev)
@@ -2266,7 +2264,7 @@ MODULE_DEVICE_TABLE(of, gswip_of_match);
static struct platform_driver gswip_driver = {
.probe = gswip_probe,
- .remove = gswip_remove,
+ .remove_new = gswip_remove,
.shutdown = gswip_shutdown,
.driver = {
.name = "gswip",
--
2.40.1
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH net-next 5/9] net: dsa: mt7530: Convert to platform remove callback returning void
2023-09-18 19:19 [PATCH net-next 0/9] net: dsa: Convert to platform remove callback returning void Uwe Kleine-König
` (3 preceding siblings ...)
2023-09-18 19:19 ` [PATCH net-next 4/9] net: dsa: lantiq_gswip: " Uwe Kleine-König
@ 2023-09-18 19:19 ` Uwe Kleine-König
2023-09-18 20:27 ` Andrew Lunn
` (2 more replies)
2023-09-18 19:19 ` [PATCH net-next 6/9] net: dsa: ocelot: " Uwe Kleine-König
` (4 subsequent siblings)
9 siblings, 3 replies; 31+ messages in thread
From: Uwe Kleine-König @ 2023-09-18 19:19 UTC (permalink / raw)
To: Arınç ÜNAL, Daniel Golle, Landen Chao,
DENG Qingfang, Sean Wang, Andrew Lunn, Florian Fainelli,
Vladimir Oltean, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Matthias Brugger
Cc: 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/dsa/mt7530-mmio.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/drivers/net/dsa/mt7530-mmio.c b/drivers/net/dsa/mt7530-mmio.c
index 0a6a2fe34e64..b74a230a3f13 100644
--- a/drivers/net/dsa/mt7530-mmio.c
+++ b/drivers/net/dsa/mt7530-mmio.c
@@ -63,15 +63,12 @@ mt7988_probe(struct platform_device *pdev)
return dsa_register_switch(priv->ds);
}
-static int
-mt7988_remove(struct platform_device *pdev)
+static void mt7988_remove(struct platform_device *pdev)
{
struct mt7530_priv *priv = platform_get_drvdata(pdev);
if (priv)
mt7530_remove_common(priv);
-
- return 0;
}
static void mt7988_shutdown(struct platform_device *pdev)
@@ -88,7 +85,7 @@ static void mt7988_shutdown(struct platform_device *pdev)
static struct platform_driver mt7988_platform_driver = {
.probe = mt7988_probe,
- .remove = mt7988_remove,
+ .remove_new = mt7988_remove,
.shutdown = mt7988_shutdown,
.driver = {
.name = "mt7530-mmio",
--
2.40.1
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH net-next 6/9] net: dsa: ocelot: Convert to platform remove callback returning void
2023-09-18 19:19 [PATCH net-next 0/9] net: dsa: Convert to platform remove callback returning void Uwe Kleine-König
` (4 preceding siblings ...)
2023-09-18 19:19 ` [PATCH net-next 5/9] net: dsa: mt7530: " Uwe Kleine-König
@ 2023-09-18 19:19 ` Uwe Kleine-König
2023-09-18 20:27 ` Andrew Lunn
2023-09-18 20:53 ` Florian Fainelli
2023-09-18 19:19 ` [PATCH net-next 7/9] net: dsa: realtek: " Uwe Kleine-König
` (3 subsequent siblings)
9 siblings, 2 replies; 31+ messages in thread
From: Uwe Kleine-König @ 2023-09-18 19:19 UTC (permalink / raw)
To: Colin Foster, Vladimir Oltean, Claudiu Manoil, Alexandre Belloni,
UNGLinuxDriver, Andrew Lunn, Florian Fainelli, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni
Cc: 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 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/dsa/ocelot/ocelot_ext.c | 8 +++-----
drivers/net/dsa/ocelot/seville_vsc9953.c | 8 +++-----
2 files changed, 6 insertions(+), 10 deletions(-)
diff --git a/drivers/net/dsa/ocelot/ocelot_ext.c b/drivers/net/dsa/ocelot/ocelot_ext.c
index c29bee5a5c48..22187d831c4b 100644
--- a/drivers/net/dsa/ocelot/ocelot_ext.c
+++ b/drivers/net/dsa/ocelot/ocelot_ext.c
@@ -115,19 +115,17 @@ static int ocelot_ext_probe(struct platform_device *pdev)
return err;
}
-static int ocelot_ext_remove(struct platform_device *pdev)
+static void ocelot_ext_remove(struct platform_device *pdev)
{
struct felix *felix = dev_get_drvdata(&pdev->dev);
if (!felix)
- return 0;
+ return;
dsa_unregister_switch(felix->ds);
kfree(felix->ds);
kfree(felix);
-
- return 0;
}
static void ocelot_ext_shutdown(struct platform_device *pdev)
@@ -154,7 +152,7 @@ static struct platform_driver ocelot_ext_switch_driver = {
.of_match_table = ocelot_ext_switch_of_match,
},
.probe = ocelot_ext_probe,
- .remove = ocelot_ext_remove,
+ .remove_new = ocelot_ext_remove,
.shutdown = ocelot_ext_shutdown,
};
module_platform_driver(ocelot_ext_switch_driver);
diff --git a/drivers/net/dsa/ocelot/seville_vsc9953.c b/drivers/net/dsa/ocelot/seville_vsc9953.c
index 8f912bda120b..049930da0521 100644
--- a/drivers/net/dsa/ocelot/seville_vsc9953.c
+++ b/drivers/net/dsa/ocelot/seville_vsc9953.c
@@ -1029,19 +1029,17 @@ static int seville_probe(struct platform_device *pdev)
return err;
}
-static int seville_remove(struct platform_device *pdev)
+static void seville_remove(struct platform_device *pdev)
{
struct felix *felix = platform_get_drvdata(pdev);
if (!felix)
- return 0;
+ return;
dsa_unregister_switch(felix->ds);
kfree(felix->ds);
kfree(felix);
-
- return 0;
}
static void seville_shutdown(struct platform_device *pdev)
@@ -1064,7 +1062,7 @@ MODULE_DEVICE_TABLE(of, seville_of_match);
static struct platform_driver seville_vsc9953_driver = {
.probe = seville_probe,
- .remove = seville_remove,
+ .remove_new = seville_remove,
.shutdown = seville_shutdown,
.driver = {
.name = "mscc_seville",
--
2.40.1
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH net-next 7/9] net: dsa: realtek: Convert to platform remove callback returning void
2023-09-18 19:19 [PATCH net-next 0/9] net: dsa: Convert to platform remove callback returning void Uwe Kleine-König
` (5 preceding siblings ...)
2023-09-18 19:19 ` [PATCH net-next 6/9] net: dsa: ocelot: " Uwe Kleine-König
@ 2023-09-18 19:19 ` Uwe Kleine-König
2023-09-18 20:28 ` Andrew Lunn
` (2 more replies)
2023-09-18 19:19 ` [PATCH net-next 8/9] net: dsa: rzn1_a5psw: " Uwe Kleine-König
` (2 subsequent siblings)
9 siblings, 3 replies; 31+ messages in thread
From: Uwe Kleine-König @ 2023-09-18 19:19 UTC (permalink / raw)
To: Linus Walleij, Alvin Šipraga, Andrew Lunn, Florian Fainelli,
Vladimir Oltean, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni
Cc: 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/dsa/realtek/realtek-smi.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/drivers/net/dsa/realtek/realtek-smi.c b/drivers/net/dsa/realtek/realtek-smi.c
index ff13563059c5..bfd11591faf4 100644
--- a/drivers/net/dsa/realtek/realtek-smi.c
+++ b/drivers/net/dsa/realtek/realtek-smi.c
@@ -506,12 +506,12 @@ static int realtek_smi_probe(struct platform_device *pdev)
return 0;
}
-static int realtek_smi_remove(struct platform_device *pdev)
+static void realtek_smi_remove(struct platform_device *pdev)
{
struct realtek_priv *priv = platform_get_drvdata(pdev);
if (!priv)
- return 0;
+ return;
dsa_unregister_switch(priv->ds);
if (priv->slave_mii_bus)
@@ -520,8 +520,6 @@ static int realtek_smi_remove(struct platform_device *pdev)
/* leave the device reset asserted */
if (priv->reset)
gpiod_set_value(priv->reset, 1);
-
- return 0;
}
static void realtek_smi_shutdown(struct platform_device *pdev)
@@ -559,7 +557,7 @@ static struct platform_driver realtek_smi_driver = {
.of_match_table = realtek_smi_of_match,
},
.probe = realtek_smi_probe,
- .remove = realtek_smi_remove,
+ .remove_new = realtek_smi_remove,
.shutdown = realtek_smi_shutdown,
};
module_platform_driver(realtek_smi_driver);
--
2.40.1
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH net-next 8/9] net: dsa: rzn1_a5psw: Convert to platform remove callback returning void
2023-09-18 19:19 [PATCH net-next 0/9] net: dsa: Convert to platform remove callback returning void Uwe Kleine-König
` (6 preceding siblings ...)
2023-09-18 19:19 ` [PATCH net-next 7/9] net: dsa: realtek: " Uwe Kleine-König
@ 2023-09-18 19:19 ` Uwe Kleine-König
2023-09-18 20:28 ` Andrew Lunn
` (2 more replies)
2023-09-18 19:19 ` [PATCH net-next 9/9] net: dsa: vitesse-vsc73xx: " Uwe Kleine-König
2023-09-20 9:30 ` [PATCH net-next 0/9] net: dsa: " patchwork-bot+netdevbpf
9 siblings, 3 replies; 31+ messages in thread
From: Uwe Kleine-König @ 2023-09-18 19:19 UTC (permalink / raw)
To: Clément Léger, Andrew Lunn, Florian Fainelli,
Vladimir Oltean, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni
Cc: linux-renesas-soc, 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/dsa/rzn1_a5psw.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/drivers/net/dsa/rzn1_a5psw.c b/drivers/net/dsa/rzn1_a5psw.c
index 2eda10b33f2e..10092ea85e46 100644
--- a/drivers/net/dsa/rzn1_a5psw.c
+++ b/drivers/net/dsa/rzn1_a5psw.c
@@ -1272,19 +1272,17 @@ static int a5psw_probe(struct platform_device *pdev)
return ret;
}
-static int a5psw_remove(struct platform_device *pdev)
+static void a5psw_remove(struct platform_device *pdev)
{
struct a5psw *a5psw = platform_get_drvdata(pdev);
if (!a5psw)
- return 0;
+ return;
dsa_unregister_switch(&a5psw->ds);
a5psw_pcs_free(a5psw);
clk_disable_unprepare(a5psw->hclk);
clk_disable_unprepare(a5psw->clk);
-
- return 0;
}
static void a5psw_shutdown(struct platform_device *pdev)
@@ -1311,7 +1309,7 @@ static struct platform_driver a5psw_driver = {
.of_match_table = a5psw_of_mtable,
},
.probe = a5psw_probe,
- .remove = a5psw_remove,
+ .remove_new = a5psw_remove,
.shutdown = a5psw_shutdown,
};
module_platform_driver(a5psw_driver);
--
2.40.1
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH net-next 9/9] net: dsa: vitesse-vsc73xx: Convert to platform remove callback returning void
2023-09-18 19:19 [PATCH net-next 0/9] net: dsa: Convert to platform remove callback returning void Uwe Kleine-König
` (7 preceding siblings ...)
2023-09-18 19:19 ` [PATCH net-next 8/9] net: dsa: rzn1_a5psw: " Uwe Kleine-König
@ 2023-09-18 19:19 ` Uwe Kleine-König
2023-09-18 20:28 ` Andrew Lunn
2023-09-18 20:53 ` Florian Fainelli
2023-09-20 9:30 ` [PATCH net-next 0/9] net: dsa: " patchwork-bot+netdevbpf
9 siblings, 2 replies; 31+ messages in thread
From: Uwe Kleine-König @ 2023-09-18 19:19 UTC (permalink / raw)
To: Andrew Lunn, Florian Fainelli, Vladimir Oltean, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni
Cc: 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/dsa/vitesse-vsc73xx-platform.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/drivers/net/dsa/vitesse-vsc73xx-platform.c b/drivers/net/dsa/vitesse-vsc73xx-platform.c
index bd4206e8f9af..755b7895a15a 100644
--- a/drivers/net/dsa/vitesse-vsc73xx-platform.c
+++ b/drivers/net/dsa/vitesse-vsc73xx-platform.c
@@ -112,16 +112,14 @@ static int vsc73xx_platform_probe(struct platform_device *pdev)
return vsc73xx_probe(&vsc_platform->vsc);
}
-static int vsc73xx_platform_remove(struct platform_device *pdev)
+static void vsc73xx_platform_remove(struct platform_device *pdev)
{
struct vsc73xx_platform *vsc_platform = platform_get_drvdata(pdev);
if (!vsc_platform)
- return 0;
+ return;
vsc73xx_remove(&vsc_platform->vsc);
-
- return 0;
}
static void vsc73xx_platform_shutdown(struct platform_device *pdev)
@@ -160,7 +158,7 @@ MODULE_DEVICE_TABLE(of, vsc73xx_of_match);
static struct platform_driver vsc73xx_platform_driver = {
.probe = vsc73xx_platform_probe,
- .remove = vsc73xx_platform_remove,
+ .remove_new = vsc73xx_platform_remove,
.shutdown = vsc73xx_platform_shutdown,
.driver = {
.name = "vsc73xx-platform",
--
2.40.1
^ permalink raw reply related [flat|nested] 31+ messages in thread
* Re: [PATCH net-next 1/9] net: dsa: b53: Convert to platform remove callback returning void
2023-09-18 19:19 ` [PATCH net-next 1/9] net: dsa: b53: " Uwe Kleine-König
@ 2023-09-18 19:26 ` Florian Fainelli
0 siblings, 0 replies; 31+ messages in thread
From: Florian Fainelli @ 2023-09-18 19:26 UTC (permalink / raw)
To: Uwe Kleine-König, Andrew Lunn, Vladimir Oltean,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni
Cc: netdev, kernel
[-- Attachment #1: Type: text/plain, Size: 872 bytes --]
On 9/18/23 12:19, Uwe Kleine-König wrote:
> 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>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
--
Florian
[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4221 bytes --]
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH net-next 2/9] net: dsa: bcm_sf2: Convert to platform remove callback returning void
2023-09-18 19:19 ` [PATCH net-next 2/9] net: dsa: bcm_sf2: " Uwe Kleine-König
@ 2023-09-18 19:26 ` Florian Fainelli
0 siblings, 0 replies; 31+ messages in thread
From: Florian Fainelli @ 2023-09-18 19:26 UTC (permalink / raw)
To: Uwe Kleine-König, Andrew Lunn, Vladimir Oltean,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni
Cc: netdev, kernel
[-- Attachment #1: Type: text/plain, Size: 870 bytes --]
On 9/18/23 12:19, Uwe Kleine-König wrote:
> 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>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
--
Florian
[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4221 bytes --]
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH net-next 3/9] net: dsa: hirschmann: Convert to platform remove callback returning void
2023-09-18 19:19 ` [PATCH net-next 3/9] net: dsa: hirschmann: " Uwe Kleine-König
@ 2023-09-18 20:26 ` Andrew Lunn
2023-09-18 20:51 ` Florian Fainelli
2023-09-19 15:27 ` Kurt Kanzenbach
2 siblings, 0 replies; 31+ messages in thread
From: Andrew Lunn @ 2023-09-18 20:26 UTC (permalink / raw)
To: Uwe Kleine-König
Cc: Kurt Kanzenbach, Florian Fainelli, Vladimir Oltean,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
netdev, kernel
On Mon, Sep 18, 2023 at 09:19:10PM +0200, Uwe Kleine-König wrote:
> 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>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Andrew
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH net-next 4/9] net: dsa: lantiq_gswip: Convert to platform remove callback returning void
2023-09-18 19:19 ` [PATCH net-next 4/9] net: dsa: lantiq_gswip: " Uwe Kleine-König
@ 2023-09-18 20:26 ` Andrew Lunn
2023-09-18 20:51 ` Florian Fainelli
1 sibling, 0 replies; 31+ messages in thread
From: Andrew Lunn @ 2023-09-18 20:26 UTC (permalink / raw)
To: Uwe Kleine-König
Cc: Hauke Mehrtens, Florian Fainelli, Vladimir Oltean,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
netdev, kernel
On Mon, Sep 18, 2023 at 09:19:11PM +0200, Uwe Kleine-König wrote:
> 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>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Andrew
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH net-next 5/9] net: dsa: mt7530: Convert to platform remove callback returning void
2023-09-18 19:19 ` [PATCH net-next 5/9] net: dsa: mt7530: " Uwe Kleine-König
@ 2023-09-18 20:27 ` Andrew Lunn
2023-09-18 20:52 ` Florian Fainelli
2023-09-19 8:14 ` Daniel Golle
2 siblings, 0 replies; 31+ messages in thread
From: Andrew Lunn @ 2023-09-18 20:27 UTC (permalink / raw)
To: Uwe Kleine-König
Cc: Arınç ÜNAL, Daniel Golle, Landen Chao,
DENG Qingfang, Sean Wang, Florian Fainelli, Vladimir Oltean,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Matthias Brugger, AngeloGioacchino Del Regno, netdev, kernel,
linux-arm-kernel, linux-mediatek
On Mon, Sep 18, 2023 at 09:19:12PM +0200, Uwe Kleine-König wrote:
> 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>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Andrew
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH net-next 6/9] net: dsa: ocelot: Convert to platform remove callback returning void
2023-09-18 19:19 ` [PATCH net-next 6/9] net: dsa: ocelot: " Uwe Kleine-König
@ 2023-09-18 20:27 ` Andrew Lunn
2023-09-18 20:53 ` Florian Fainelli
1 sibling, 0 replies; 31+ messages in thread
From: Andrew Lunn @ 2023-09-18 20:27 UTC (permalink / raw)
To: Uwe Kleine-König
Cc: Colin Foster, Vladimir Oltean, Claudiu Manoil, Alexandre Belloni,
UNGLinuxDriver, Florian Fainelli, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, netdev, kernel
On Mon, Sep 18, 2023 at 09:19:13PM +0200, Uwe Kleine-König wrote:
> 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>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Andrew
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH net-next 7/9] net: dsa: realtek: Convert to platform remove callback returning void
2023-09-18 19:19 ` [PATCH net-next 7/9] net: dsa: realtek: " Uwe Kleine-König
@ 2023-09-18 20:28 ` Andrew Lunn
2023-09-18 20:53 ` Florian Fainelli
2023-09-19 8:04 ` Alvin Šipraga
2 siblings, 0 replies; 31+ messages in thread
From: Andrew Lunn @ 2023-09-18 20:28 UTC (permalink / raw)
To: Uwe Kleine-König
Cc: Linus Walleij, Alvin Šipraga, Florian Fainelli,
Vladimir Oltean, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, netdev, kernel
On Mon, Sep 18, 2023 at 09:19:14PM +0200, Uwe Kleine-König wrote:
> 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>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Andrew
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH net-next 8/9] net: dsa: rzn1_a5psw: Convert to platform remove callback returning void
2023-09-18 19:19 ` [PATCH net-next 8/9] net: dsa: rzn1_a5psw: " Uwe Kleine-König
@ 2023-09-18 20:28 ` Andrew Lunn
2023-09-18 20:53 ` Florian Fainelli
2023-09-19 7:05 ` Geert Uytterhoeven
2 siblings, 0 replies; 31+ messages in thread
From: Andrew Lunn @ 2023-09-18 20:28 UTC (permalink / raw)
To: Uwe Kleine-König
Cc: Clément Léger, Florian Fainelli, Vladimir Oltean,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
linux-renesas-soc, netdev, kernel
On Mon, Sep 18, 2023 at 09:19:15PM +0200, Uwe Kleine-König wrote:
> 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>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Andrew
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH net-next 9/9] net: dsa: vitesse-vsc73xx: Convert to platform remove callback returning void
2023-09-18 19:19 ` [PATCH net-next 9/9] net: dsa: vitesse-vsc73xx: " Uwe Kleine-König
@ 2023-09-18 20:28 ` Andrew Lunn
2023-09-18 20:53 ` Florian Fainelli
1 sibling, 0 replies; 31+ messages in thread
From: Andrew Lunn @ 2023-09-18 20:28 UTC (permalink / raw)
To: Uwe Kleine-König
Cc: Florian Fainelli, Vladimir Oltean, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, netdev, kernel
On Mon, Sep 18, 2023 at 09:19:16PM +0200, Uwe Kleine-König wrote:
> 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>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Andrew
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH net-next 3/9] net: dsa: hirschmann: Convert to platform remove callback returning void
2023-09-18 19:19 ` [PATCH net-next 3/9] net: dsa: hirschmann: " Uwe Kleine-König
2023-09-18 20:26 ` Andrew Lunn
@ 2023-09-18 20:51 ` Florian Fainelli
2023-09-19 15:27 ` Kurt Kanzenbach
2 siblings, 0 replies; 31+ messages in thread
From: Florian Fainelli @ 2023-09-18 20:51 UTC (permalink / raw)
To: Uwe Kleine-König, Kurt Kanzenbach, Andrew Lunn,
Vladimir Oltean, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni
Cc: netdev, kernel
On 9/18/23 12:19, Uwe Kleine-König wrote:
> 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>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
--
Florian
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH net-next 4/9] net: dsa: lantiq_gswip: Convert to platform remove callback returning void
2023-09-18 19:19 ` [PATCH net-next 4/9] net: dsa: lantiq_gswip: " Uwe Kleine-König
2023-09-18 20:26 ` Andrew Lunn
@ 2023-09-18 20:51 ` Florian Fainelli
1 sibling, 0 replies; 31+ messages in thread
From: Florian Fainelli @ 2023-09-18 20:51 UTC (permalink / raw)
To: Uwe Kleine-König, Hauke Mehrtens, Andrew Lunn,
Vladimir Oltean, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni
Cc: netdev, kernel
On 9/18/23 12:19, Uwe Kleine-König wrote:
> 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>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
--
Florian
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH net-next 5/9] net: dsa: mt7530: Convert to platform remove callback returning void
2023-09-18 19:19 ` [PATCH net-next 5/9] net: dsa: mt7530: " Uwe Kleine-König
2023-09-18 20:27 ` Andrew Lunn
@ 2023-09-18 20:52 ` Florian Fainelli
2023-09-19 8:14 ` Daniel Golle
2 siblings, 0 replies; 31+ messages in thread
From: Florian Fainelli @ 2023-09-18 20:52 UTC (permalink / raw)
To: Uwe Kleine-König, Arınç ÜNAL, Daniel Golle,
Landen Chao, DENG Qingfang, Sean Wang, Andrew Lunn,
Vladimir Oltean, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Matthias Brugger
Cc: AngeloGioacchino Del Regno, netdev, kernel, linux-arm-kernel,
linux-mediatek
On 9/18/23 12:19, Uwe Kleine-König wrote:
> 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>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
--
Florian
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH net-next 6/9] net: dsa: ocelot: Convert to platform remove callback returning void
2023-09-18 19:19 ` [PATCH net-next 6/9] net: dsa: ocelot: " Uwe Kleine-König
2023-09-18 20:27 ` Andrew Lunn
@ 2023-09-18 20:53 ` Florian Fainelli
1 sibling, 0 replies; 31+ messages in thread
From: Florian Fainelli @ 2023-09-18 20:53 UTC (permalink / raw)
To: Uwe Kleine-König, Colin Foster, Vladimir Oltean,
Claudiu Manoil, Alexandre Belloni, UNGLinuxDriver, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni
Cc: netdev, kernel
On 9/18/23 12:19, Uwe Kleine-König wrote:
> 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>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
--
Florian
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH net-next 7/9] net: dsa: realtek: Convert to platform remove callback returning void
2023-09-18 19:19 ` [PATCH net-next 7/9] net: dsa: realtek: " Uwe Kleine-König
2023-09-18 20:28 ` Andrew Lunn
@ 2023-09-18 20:53 ` Florian Fainelli
2023-09-19 8:04 ` Alvin Šipraga
2 siblings, 0 replies; 31+ messages in thread
From: Florian Fainelli @ 2023-09-18 20:53 UTC (permalink / raw)
To: Uwe Kleine-König, Linus Walleij, Alvin Šipraga,
Andrew Lunn, Vladimir Oltean, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni
Cc: netdev, kernel
On 9/18/23 12:19, Uwe Kleine-König wrote:
> 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>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
--
Florian
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH net-next 8/9] net: dsa: rzn1_a5psw: Convert to platform remove callback returning void
2023-09-18 19:19 ` [PATCH net-next 8/9] net: dsa: rzn1_a5psw: " Uwe Kleine-König
2023-09-18 20:28 ` Andrew Lunn
@ 2023-09-18 20:53 ` Florian Fainelli
2023-09-19 7:05 ` Geert Uytterhoeven
2 siblings, 0 replies; 31+ messages in thread
From: Florian Fainelli @ 2023-09-18 20:53 UTC (permalink / raw)
To: Uwe Kleine-König, Clément Léger, Andrew Lunn,
Vladimir Oltean, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni
Cc: linux-renesas-soc, netdev, kernel
On 9/18/23 12:19, Uwe Kleine-König wrote:
> 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>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
--
Florian
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH net-next 9/9] net: dsa: vitesse-vsc73xx: Convert to platform remove callback returning void
2023-09-18 19:19 ` [PATCH net-next 9/9] net: dsa: vitesse-vsc73xx: " Uwe Kleine-König
2023-09-18 20:28 ` Andrew Lunn
@ 2023-09-18 20:53 ` Florian Fainelli
1 sibling, 0 replies; 31+ messages in thread
From: Florian Fainelli @ 2023-09-18 20:53 UTC (permalink / raw)
To: Uwe Kleine-König, Andrew Lunn, Vladimir Oltean,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni
Cc: netdev, kernel
On 9/18/23 12:19, Uwe Kleine-König wrote:
> 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>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
--
Florian
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH net-next 8/9] net: dsa: rzn1_a5psw: Convert to platform remove callback returning void
2023-09-18 19:19 ` [PATCH net-next 8/9] net: dsa: rzn1_a5psw: " Uwe Kleine-König
2023-09-18 20:28 ` Andrew Lunn
2023-09-18 20:53 ` Florian Fainelli
@ 2023-09-19 7:05 ` Geert Uytterhoeven
2 siblings, 0 replies; 31+ messages in thread
From: Geert Uytterhoeven @ 2023-09-19 7:05 UTC (permalink / raw)
To: Uwe Kleine-König
Cc: Clément Léger, Andrew Lunn, Florian Fainelli,
Vladimir Oltean, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, linux-renesas-soc, netdev, kernel
On Mon, Sep 18, 2023 at 9:22 PM Uwe Kleine-König
<u.kleine-koenig@pengutronix.de> wrote:
> 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>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH net-next 7/9] net: dsa: realtek: Convert to platform remove callback returning void
2023-09-18 19:19 ` [PATCH net-next 7/9] net: dsa: realtek: " Uwe Kleine-König
2023-09-18 20:28 ` Andrew Lunn
2023-09-18 20:53 ` Florian Fainelli
@ 2023-09-19 8:04 ` Alvin Šipraga
2 siblings, 0 replies; 31+ messages in thread
From: Alvin Šipraga @ 2023-09-19 8:04 UTC (permalink / raw)
To: Uwe Kleine-König
Cc: Linus Walleij, Andrew Lunn, Florian Fainelli, Vladimir Oltean,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
netdev@vger.kernel.org, kernel@pengutronix.de
On Mon, Sep 18, 2023 at 09:19:14PM +0200, Uwe Kleine-König wrote:
> 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>
> ---
Reviewed-by: Alvin Šipraga <alsi@bang-olufsen.dk>
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH net-next 5/9] net: dsa: mt7530: Convert to platform remove callback returning void
2023-09-18 19:19 ` [PATCH net-next 5/9] net: dsa: mt7530: " Uwe Kleine-König
2023-09-18 20:27 ` Andrew Lunn
2023-09-18 20:52 ` Florian Fainelli
@ 2023-09-19 8:14 ` Daniel Golle
2 siblings, 0 replies; 31+ messages in thread
From: Daniel Golle @ 2023-09-19 8:14 UTC (permalink / raw)
To: Uwe Kleine-König
Cc: Arınç ÜNAL, Landen Chao, DENG Qingfang, Sean Wang,
Andrew Lunn, Florian Fainelli, Vladimir Oltean, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Matthias Brugger,
AngeloGioacchino Del Regno, netdev, kernel, linux-arm-kernel,
linux-mediatek
On Mon, Sep 18, 2023 at 09:19:12PM +0200, Uwe Kleine-König wrote:
> 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: Daniel Golle <daniel@makrotopia.org>
> ---
> drivers/net/dsa/mt7530-mmio.c | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/net/dsa/mt7530-mmio.c b/drivers/net/dsa/mt7530-mmio.c
> index 0a6a2fe34e64..b74a230a3f13 100644
> --- a/drivers/net/dsa/mt7530-mmio.c
> +++ b/drivers/net/dsa/mt7530-mmio.c
> @@ -63,15 +63,12 @@ mt7988_probe(struct platform_device *pdev)
> return dsa_register_switch(priv->ds);
> }
>
> -static int
> -mt7988_remove(struct platform_device *pdev)
> +static void mt7988_remove(struct platform_device *pdev)
> {
> struct mt7530_priv *priv = platform_get_drvdata(pdev);
>
> if (priv)
> mt7530_remove_common(priv);
> -
> - return 0;
> }
>
> static void mt7988_shutdown(struct platform_device *pdev)
> @@ -88,7 +85,7 @@ static void mt7988_shutdown(struct platform_device *pdev)
>
> static struct platform_driver mt7988_platform_driver = {
> .probe = mt7988_probe,
> - .remove = mt7988_remove,
> + .remove_new = mt7988_remove,
> .shutdown = mt7988_shutdown,
> .driver = {
> .name = "mt7530-mmio",
> --
> 2.40.1
>
>
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH net-next 3/9] net: dsa: hirschmann: Convert to platform remove callback returning void
2023-09-18 19:19 ` [PATCH net-next 3/9] net: dsa: hirschmann: " Uwe Kleine-König
2023-09-18 20:26 ` Andrew Lunn
2023-09-18 20:51 ` Florian Fainelli
@ 2023-09-19 15:27 ` Kurt Kanzenbach
2 siblings, 0 replies; 31+ messages in thread
From: Kurt Kanzenbach @ 2023-09-19 15:27 UTC (permalink / raw)
To: Uwe Kleine-König, Andrew Lunn, Florian Fainelli,
Vladimir Oltean, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni
Cc: netdev, kernel
[-- Attachment #1: Type: text/plain, Size: 861 bytes --]
On Mon Sep 18 2023, Uwe Kleine-König wrote:
> 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>
Reviewed-by: Kurt Kanzenbach <kurt@linutronix.de>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 861 bytes --]
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH net-next 0/9] net: dsa: Convert to platform remove callback returning void
2023-09-18 19:19 [PATCH net-next 0/9] net: dsa: Convert to platform remove callback returning void Uwe Kleine-König
` (8 preceding siblings ...)
2023-09-18 19:19 ` [PATCH net-next 9/9] net: dsa: vitesse-vsc73xx: " Uwe Kleine-König
@ 2023-09-20 9:30 ` patchwork-bot+netdevbpf
9 siblings, 0 replies; 31+ messages in thread
From: patchwork-bot+netdevbpf @ 2023-09-20 9:30 UTC (permalink / raw)
To: =?utf-8?q?Uwe_Kleine-K=C3=B6nig_=3Cu=2Ekleine-koenig=40pengutronix=2Ede=3E?=
Cc: florian.fainelli, andrew, olteanv, davem, edumazet, kuba, pabeni,
kurt, f.fainelli, hauke, arinc.unal, daniel, Landen.Chao, dqfext,
sean.wang, matthias.bgg, colin.foster, vladimir.oltean,
claudiu.manoil, alexandre.belloni, UNGLinuxDriver, linus.walleij,
alsi, clement.leger, netdev, kernel, angelogioacchino.delregno,
linux-arm-kernel, linux-mediatek, linux-renesas-soc
Hello:
This series was applied to netdev/net-next.git (main)
by David S. Miller <davem@davemloft.net>:
On Mon, 18 Sep 2023 21:19:07 +0200 you wrote:
> Hello,
>
> this series converts all platform drivers below drivers/net/dsa to use
> remove_new. The motivation is to get rid of an integer return code
> that is (mostly) ignored by the platform driver core and error prone on
> the driver side.
>
> [...]
Here is the summary with links:
- [net-next,1/9] net: dsa: b53: Convert to platform remove callback returning void
https://git.kernel.org/netdev/net-next/c/c306171d6914
- [net-next,2/9] net: dsa: bcm_sf2: Convert to platform remove callback returning void
https://git.kernel.org/netdev/net-next/c/75f5205f1dd8
- [net-next,3/9] net: dsa: hirschmann: Convert to platform remove callback returning void
https://git.kernel.org/netdev/net-next/c/beb8592d0416
- [net-next,4/9] net: dsa: lantiq_gswip: Convert to platform remove callback returning void
https://git.kernel.org/netdev/net-next/c/a59f960c4d10
- [net-next,5/9] net: dsa: mt7530: Convert to platform remove callback returning void
https://git.kernel.org/netdev/net-next/c/9764bbad3d33
- [net-next,6/9] net: dsa: ocelot: Convert to platform remove callback returning void
https://git.kernel.org/netdev/net-next/c/68ace16ce330
- [net-next,7/9] net: dsa: realtek: Convert to platform remove callback returning void
https://git.kernel.org/netdev/net-next/c/d48a5472b8f2
- [net-next,8/9] net: dsa: rzn1_a5psw: Convert to platform remove callback returning void
https://git.kernel.org/netdev/net-next/c/76be075d7f99
- [net-next,9/9] net: dsa: vitesse-vsc73xx: Convert to platform remove callback returning void
https://git.kernel.org/netdev/net-next/c/ce322d45683f
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 31+ messages in thread
end of thread, other threads:[~2023-09-20 9:30 UTC | newest]
Thread overview: 31+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-18 19:19 [PATCH net-next 0/9] net: dsa: Convert to platform remove callback returning void Uwe Kleine-König
2023-09-18 19:19 ` [PATCH net-next 1/9] net: dsa: b53: " Uwe Kleine-König
2023-09-18 19:26 ` Florian Fainelli
2023-09-18 19:19 ` [PATCH net-next 2/9] net: dsa: bcm_sf2: " Uwe Kleine-König
2023-09-18 19:26 ` Florian Fainelli
2023-09-18 19:19 ` [PATCH net-next 3/9] net: dsa: hirschmann: " Uwe Kleine-König
2023-09-18 20:26 ` Andrew Lunn
2023-09-18 20:51 ` Florian Fainelli
2023-09-19 15:27 ` Kurt Kanzenbach
2023-09-18 19:19 ` [PATCH net-next 4/9] net: dsa: lantiq_gswip: " Uwe Kleine-König
2023-09-18 20:26 ` Andrew Lunn
2023-09-18 20:51 ` Florian Fainelli
2023-09-18 19:19 ` [PATCH net-next 5/9] net: dsa: mt7530: " Uwe Kleine-König
2023-09-18 20:27 ` Andrew Lunn
2023-09-18 20:52 ` Florian Fainelli
2023-09-19 8:14 ` Daniel Golle
2023-09-18 19:19 ` [PATCH net-next 6/9] net: dsa: ocelot: " Uwe Kleine-König
2023-09-18 20:27 ` Andrew Lunn
2023-09-18 20:53 ` Florian Fainelli
2023-09-18 19:19 ` [PATCH net-next 7/9] net: dsa: realtek: " Uwe Kleine-König
2023-09-18 20:28 ` Andrew Lunn
2023-09-18 20:53 ` Florian Fainelli
2023-09-19 8:04 ` Alvin Šipraga
2023-09-18 19:19 ` [PATCH net-next 8/9] net: dsa: rzn1_a5psw: " Uwe Kleine-König
2023-09-18 20:28 ` Andrew Lunn
2023-09-18 20:53 ` Florian Fainelli
2023-09-19 7:05 ` Geert Uytterhoeven
2023-09-18 19:19 ` [PATCH net-next 9/9] net: dsa: vitesse-vsc73xx: " Uwe Kleine-König
2023-09-18 20:28 ` Andrew Lunn
2023-09-18 20:53 ` Florian Fainelli
2023-09-20 9:30 ` [PATCH net-next 0/9] net: dsa: " patchwork-bot+netdevbpf
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).