mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 14:23:38 +00:00

Uses upstream DSA switch modules (rtl8365mb, rtl8366), similar to RTL8367C and rtl8366rb swconfig drivers. The package dependencies exclude targets built without kernel CONFIG_OF. It also fixes the rtl8366rb LED support. Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com> Signed-off-by: Robert Marko <robimarko@gmail.com>
67 lines
2.4 KiB
Diff
67 lines
2.4 KiB
Diff
From d48a5472b8f2b29800bb25913f9403765005f1bc Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
|
|
Date: Mon, 18 Sep 2023 21:19:14 +0200
|
|
Subject: [PATCH] net: dsa: realtek: Convert to platform remove callback
|
|
returning void
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
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>
|
|
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
|
|
Reviewed-by: Alvin Šipraga <alsi@bang-olufsen.dk>
|
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
|
|
---
|
|
drivers/net/dsa/realtek/realtek-smi.c | 8 +++-----
|
|
1 file changed, 3 insertions(+), 5 deletions(-)
|
|
|
|
--- 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 plat
|
|
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 pla
|
|
/* 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_sm
|
|
.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);
|