mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-29 18:19:02 +00:00
958fdf36e3
Backport commits adding support for the MT7988 built-in switch to the mt7530 driver. This change results in the Kconfig symbol NET_DSA_MT7530 to be extended by NET_DSA_MT7530_MDIO (everything formally covered by NET_DSA_MT7530) and NET_DSA_MT7530_MMIO (a new driver for the MMIO-connected built-in switch of the MT7988 SoC). Select NET_DSA_MT7530_MDIO for all targets previously selecting NET_DSA_MT7530, with the exception of mediatek/filogic which also selects NET_DSA_MT7530_MMIO. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
56 lines
1.5 KiB
Diff
56 lines
1.5 KiB
Diff
From 720d736351761574af02ed093658ab60de60576c Mon Sep 17 00:00:00 2001
|
|
From: Daniel Golle <daniel@makrotopia.org>
|
|
Date: Mon, 3 Apr 2023 02:18:50 +0100
|
|
Subject: [PATCH 12/16] net: dsa: mt7530: introduce mt7530_remove_common helper
|
|
function
|
|
|
|
Move commonly used parts from mt7530_remove into new
|
|
mt7530_remove_common helper function which will be used by both,
|
|
mt7530_remove and the to-be-introduced mt7988_remove.
|
|
|
|
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
|
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
|
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
---
|
|
drivers/net/dsa/mt7530.c | 18 ++++++++++++------
|
|
1 file changed, 12 insertions(+), 6 deletions(-)
|
|
|
|
--- a/drivers/net/dsa/mt7530.c
|
|
+++ b/drivers/net/dsa/mt7530.c
|
|
@@ -3253,6 +3253,17 @@ mt7530_probe(struct mdio_device *mdiodev
|
|
}
|
|
|
|
static void
|
|
+mt7530_remove_common(struct mt7530_priv *priv)
|
|
+{
|
|
+ if (priv->irq)
|
|
+ mt7530_free_irq(priv);
|
|
+
|
|
+ dsa_unregister_switch(priv->ds);
|
|
+
|
|
+ mutex_destroy(&priv->reg_mutex);
|
|
+}
|
|
+
|
|
+static void
|
|
mt7530_remove(struct mdio_device *mdiodev)
|
|
{
|
|
struct mt7530_priv *priv = dev_get_drvdata(&mdiodev->dev);
|
|
@@ -3271,16 +3282,11 @@ mt7530_remove(struct mdio_device *mdiode
|
|
dev_err(priv->dev, "Failed to disable io pwr: %d\n",
|
|
ret);
|
|
|
|
- if (priv->irq)
|
|
- mt7530_free_irq(priv);
|
|
-
|
|
- dsa_unregister_switch(priv->ds);
|
|
+ mt7530_remove_common(priv);
|
|
|
|
for (i = 0; i < 2; ++i)
|
|
mtk_pcs_lynxi_destroy(priv->ports[5 + i].sgmii_pcs);
|
|
|
|
- mutex_destroy(&priv->reg_mutex);
|
|
-
|
|
dev_set_drvdata(&mdiodev->dev, NULL);
|
|
}
|
|
|