Message ID | 20250305144355.20364-2-eichest@gmail.com |
---|---|
State | New |
Headers | show |
Series | phy: freescale: imx8m-pcie: fix and cleanup phy | expand |
On Wed, Mar 05, 2025 at 03:43:15PM +0100, Stefan Eichenberger wrote: > From: Stefan Eichenberger <stefan.eichenberger@toradex.com> > > 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. Thanks for clean up this. "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." Reviewed-by: Frank Li <Frank.Li@nxp.com> > > 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> > --- > 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 >
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,