]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
phy: freescale: imx8m-pcie: cleanup reset logic
authorStefan Eichenberger <stefan.eichenberger@toradex.com>
Wed, 5 Mar 2025 14:43:15 +0000 (15:43 +0100)
committerVinod Koul <vkoul@kernel.org>
Mon, 10 Mar 2025 19:42:37 +0000 (01:12 +0530)
Remove the switch statement and base perst release on whether it is
found in the device tree. The probe function fails without the reset
property, making it mandatory. Therefore, always release reset
independent of the variant.

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

Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://lore.kernel.org/r/20250305144355.20364-2-eichest@gmail.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/phy/freescale/phy-fsl-imx8m-pcie.c

index e98361dcdeadfe5dcee0f82998682105511af893..5b505e34ca36479c356ac165923159f907bb04bc 100644 (file)
@@ -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,