PCI: rockchip: Factor out rockchip_pcie_get_phys()

We plan to introduce per-lane PHYs, so factor out rockchip_pcie_get_phys()
to make it easier in the future.  No functional change intended.

Tested-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Brian Norris <briannorris@chromium.org>
Acked-by: Kishon Vijay Abraham I <kishon@ti.com>
This commit is contained in:
Shawn Lin 2017-07-19 17:55:12 +08:00 committed by Bjorn Helgaas
parent b6502e0dcf
commit 2ba5991f34
1 changed files with 16 additions and 6 deletions

View File

@ -854,6 +854,19 @@ static void rockchip_pcie_legacy_int_handler(struct irq_desc *desc)
chained_irq_exit(chip, desc); chained_irq_exit(chip, desc);
} }
static int rockchip_pcie_get_phys(struct rockchip_pcie *rockchip)
{
struct device *dev = rockchip->dev;
rockchip->phy = devm_phy_get(dev, "pcie-phy");
if (IS_ERR(rockchip->phy)) {
if (PTR_ERR(rockchip->phy) != -EPROBE_DEFER)
dev_err(dev, "missing phy\n");
return PTR_ERR(rockchip->phy);
}
return 0;
}
/** /**
* rockchip_pcie_parse_dt - Parse Device Tree * rockchip_pcie_parse_dt - Parse Device Tree
@ -884,12 +897,9 @@ static int rockchip_pcie_parse_dt(struct rockchip_pcie *rockchip)
if (IS_ERR(rockchip->apb_base)) if (IS_ERR(rockchip->apb_base))
return PTR_ERR(rockchip->apb_base); return PTR_ERR(rockchip->apb_base);
rockchip->phy = devm_phy_get(dev, "pcie-phy"); err = rockchip_pcie_get_phys(rockchip);
if (IS_ERR(rockchip->phy)) { if (err)
if (PTR_ERR(rockchip->phy) != -EPROBE_DEFER) return err;
dev_err(dev, "missing phy\n");
return PTR_ERR(rockchip->phy);
}
rockchip->lanes = 1; rockchip->lanes = 1;
err = of_property_read_u32(node, "num-lanes", &rockchip->lanes); err = of_property_read_u32(node, "num-lanes", &rockchip->lanes);