790-v6.4-0009-net-dsa-mt7530-introduce-mt7530_remove_common-helper.patch 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. From 720d736351761574af02ed093658ab60de60576c Mon Sep 17 00:00:00 2001
  2. From: Daniel Golle <[email protected]>
  3. Date: Mon, 3 Apr 2023 02:18:50 +0100
  4. Subject: [PATCH 12/16] net: dsa: mt7530: introduce mt7530_remove_common helper
  5. function
  6. Move commonly used parts from mt7530_remove into new
  7. mt7530_remove_common helper function which will be used by both,
  8. mt7530_remove and the to-be-introduced mt7988_remove.
  9. Signed-off-by: Daniel Golle <[email protected]>
  10. Reviewed-by: Andrew Lunn <[email protected]>
  11. Signed-off-by: David S. Miller <[email protected]>
  12. ---
  13. drivers/net/dsa/mt7530.c | 18 ++++++++++++------
  14. 1 file changed, 12 insertions(+), 6 deletions(-)
  15. --- a/drivers/net/dsa/mt7530.c
  16. +++ b/drivers/net/dsa/mt7530.c
  17. @@ -3268,6 +3268,17 @@ mt7530_probe(struct mdio_device *mdiodev
  18. }
  19. static void
  20. +mt7530_remove_common(struct mt7530_priv *priv)
  21. +{
  22. + if (priv->irq)
  23. + mt7530_free_irq(priv);
  24. +
  25. + dsa_unregister_switch(priv->ds);
  26. +
  27. + mutex_destroy(&priv->reg_mutex);
  28. +}
  29. +
  30. +static void
  31. mt7530_remove(struct mdio_device *mdiodev)
  32. {
  33. struct mt7530_priv *priv = dev_get_drvdata(&mdiodev->dev);
  34. @@ -3286,16 +3297,11 @@ mt7530_remove(struct mdio_device *mdiode
  35. dev_err(priv->dev, "Failed to disable io pwr: %d\n",
  36. ret);
  37. - if (priv->irq)
  38. - mt7530_free_irq(priv);
  39. -
  40. - dsa_unregister_switch(priv->ds);
  41. + mt7530_remove_common(priv);
  42. for (i = 0; i < 2; ++i)
  43. mtk_pcs_lynxi_destroy(priv->ports[5 + i].sgmii_pcs);
  44. - mutex_destroy(&priv->reg_mutex);
  45. -
  46. dev_set_drvdata(&mdiodev->dev, NULL);
  47. }