On Wednesday 19 July 2017 12:52 PM, Shawn Lin wrote: > We plan to introduce per-lanes PHY, so split out new > function to make it easy in the future. No functional > change intended. > > Signed-off-by: Shawn Lin <shawn.lin at rock-chips.com> > Reviewed-by: Brian Norris <briannorris at chromium.org> > Tested-by: Jeffy Chen <jeffy.chen at rock-chips.com> Acked-by: Kishon Vijay Abraham I <kishon at ti.com> > --- > > Changes in v4: > - use err variable to check return value of > rockchip_pcie_get_phys > - add Brian's tag > > Changes in v3: None > Changes in v2: None > > drivers/pci/host/pcie-rockchip.c | 22 ++++++++++++++++------ > 1 file changed, 16 insertions(+), 6 deletions(-) > > diff --git a/drivers/pci/host/pcie-rockchip.c b/drivers/pci/host/pcie-rockchip.c > index 5acf869..c42feab 100644 > --- a/drivers/pci/host/pcie-rockchip.c > +++ b/drivers/pci/host/pcie-rockchip.c > @@ -853,6 +853,19 @@ static void rockchip_pcie_legacy_int_handler(struct irq_desc *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 > @@ -883,12 +896,9 @@ static int rockchip_pcie_parse_dt(struct rockchip_pcie *rockchip) > if (IS_ERR(rockchip->apb_base)) > return PTR_ERR(rockchip->apb_base); > > - 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); > - } > + err = rockchip_pcie_get_phys(rockchip); > + if (err) > + return err; > > rockchip->lanes = 1; > err = of_property_read_u32(node, "num-lanes", &rockchip->lanes); >