net: dsa: mt7530: introduce mt7530_remove_common helper function
authorDaniel Golle <daniel@makrotopia.org>
Mon, 3 Apr 2023 01:18:50 +0000 (02:18 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 3 Apr 2023 09:13:00 +0000 (10:13 +0100)
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

index a60ed87..9404675 100644 (file)
@@ -3260,6 +3260,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);
@@ -3278,15 +3289,10 @@ mt7530_remove(struct mdio_device *mdiodev)
                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);
 }
 
 static void mt7530_shutdown(struct mdio_device *mdiodev)