In order to avoid having potentially ever growing list of variants that don't support methods implemented in imx6_pcie_reset_phy() and imx6_setup_phy_mpll(), change logical checks in the to check for SoC's that _do_ support what they implement. While at it, share the code via a small helper function.
Cc: Bjorn Helgaas <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: Chris Healy <[email protected]> Cc: Lucas Stach <[email protected]> Cc: Leonard Crestez <[email protected]> Cc: "A.s. Dong" <[email protected]> Cc: Richard Zhu <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Suggested-by: Bjorn Helgaas <[email protected]> Signed-off-by: Andrey Smirnov <[email protected]> --- drivers/pci/controller/dwc/pci-imx6.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c index 4b7f638b8aff..59658577e81d 100644 --- a/drivers/pci/controller/dwc/pci-imx6.c +++ b/drivers/pci/controller/dwc/pci-imx6.c @@ -256,12 +256,18 @@ static int pcie_phy_write(struct imx6_pcie *imx6_pcie, int addr, int data) return 0; } +static bool imx6_pcie_has_imx6_phy(struct imx6_pcie *imx6_pcie) +{ + return imx6_pcie->variant == IMX6Q || + imx6_pcie->variant == IMX6SX || + imx6_pcie->variant == IMX6QP; +} + static void imx6_pcie_reset_phy(struct imx6_pcie *imx6_pcie) { u32 tmp; - if (imx6_pcie->variant == IMX7D || - imx6_pcie->variant == IMX8MQ) + if (!imx6_pcie_has_imx6_phy(imx6_pcie)) return; pcie_phy_read(imx6_pcie, PHY_RX_OVRD_IN_LO, &tmp); @@ -637,8 +643,7 @@ static int imx6_setup_phy_mpll(struct imx6_pcie *imx6_pcie) int mult, div; u32 val; - if (imx6_pcie->variant == IMX7D || - imx6_pcie->variant == IMX8MQ) + if (!imx6_pcie_has_imx6_phy(imx6_pcie)) return 0; switch (phy_rate) { -- 2.19.1

