[PATCH v3 1/2] phy: freescale: imx8m-pcie: cleanup reset logic

Stefan Eichenberger eichest at gmail.com
Mon Mar 10 05:27:03 PDT 2025


From: Stefan Eichenberger <stefan.eichenberger at toradex.com>

Remove the switch statement for releasing perst and reset since they are
already correctly set at probe and are no-ops for
reset_control_deassert(NULL). Call these unconditionally.

This does not change the behavior of the driver but reduces driver
complexity and allows for easier future modifications.

Reviewed-by: Frank Li <Frank.Li at nxp.com>
Acked-by: Richard Zhu <hongxing.zhu at nxp.com>
Signed-off-by: Stefan Eichenberger <stefan.eichenberger at toradex.com>
---
 drivers/phy/freescale/phy-fsl-imx8m-pcie.c | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)

diff --git a/drivers/phy/freescale/phy-fsl-imx8m-pcie.c b/drivers/phy/freescale/phy-fsl-imx8m-pcie.c
index e98361dcdeadf..5b505e34ca364 100644
--- a/drivers/phy/freescale/phy-fsl-imx8m-pcie.c
+++ b/drivers/phy/freescale/phy-fsl-imx8m-pcie.c
@@ -141,15 +141,9 @@ static int imx8_pcie_phy_power_on(struct phy *phy)
 			   IMX8MM_GPR_PCIE_REF_CLK_PLL);
 	usleep_range(100, 200);
 
-	switch (imx8_phy->drvdata->variant) {
-	case IMX8MP:
-		reset_control_deassert(imx8_phy->perst);
-		fallthrough;
-	case IMX8MM:
-		reset_control_deassert(imx8_phy->reset);
-		usleep_range(200, 500);
-		break;
-	}
+	reset_control_deassert(imx8_phy->perst);
+	reset_control_deassert(imx8_phy->reset);
+	usleep_range(200, 500);
 
 	/* Do the PHY common block reset */
 	regmap_update_bits(imx8_phy->iomuxc_gpr, IOMUXC_GPR14,
-- 
2.45.2




More information about the linux-arm-kernel mailing list