Message ID | 1500448979-93067-2-git-send-email-shawn.lin@rock-chips.com (mailing list archive) |
---|---|
State | New, archived |
Delegated to: | Bjorn Helgaas |
Headers | show |
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@rock-chips.com> > Reviewed-by: Brian Norris <briannorris@chromium.org> > Tested-by: Jeffy Chen <jeffy.chen@rock-chips.com> Acked-by: Kishon Vijay Abraham I <kishon@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); >
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);