Commit 720d7363 authored by Daniel Golle's avatar Daniel Golle Committed by David S. Miller
Browse files

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: default avatarDaniel Golle <daniel@makrotopia.org>
Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 37c9c0d8
Loading
Loading
Loading
Loading
+12 −6
Original line number Diff line number Diff line
@@ -3259,6 +3259,17 @@ mt7530_probe(struct mdio_device *mdiodev)
	return dsa_register_switch(priv->ds);
}

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)
{
@@ -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)