RE: [PATCH 04/16] PCI: samsung: Use clock bulk API to get clocks

From: Shradha Todi
Date: Fri Mar 03 2023 - 01:25:28 EST




> -----Original Message-----
> From: Krzysztof Kozlowski [mailto:krzysztof.kozlowski@xxxxxxxxxx]
> Sent: 16 February 2023 16:33
> To: Shradha Todi <shradha.t@xxxxxxxxxxx>; lpieralisi@xxxxxxxxxx;
> kw@xxxxxxxxx; robh@xxxxxxxxxx; bhelgaas@xxxxxxxxxx;
> krzysztof.kozlowski+dt@xxxxxxxxxx; alim.akhtar@xxxxxxxxxxx;
> jingoohan1@xxxxxxxxx; Sergey.Semin@xxxxxxxxxxxxxxxxxxxx;
> lukas.bulwahn@xxxxxxxxx; hongxing.zhu@xxxxxxx; tglx@xxxxxxxxxxxxx;
> m.szyprowski@xxxxxxxxxxx; jh80.chung@xxxxxxxxxx;
> pankaj.dubey@xxxxxxxxxxx
> Cc: linux-pci@xxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx; linux-arm-
> kernel@xxxxxxxxxxxxxxxxxxx; linux-samsung-soc@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH 04/16] PCI: samsung: Use clock bulk API to get clocks
>
> On 14/02/2023 13:13, Shradha Todi wrote:
> > Adopt to clock bulk API to handle clocks.
> >
> > Signed-off-by: Shradha Todi <shradha.t@xxxxxxxxxxx>
> > ---
> > drivers/pci/controller/dwc/pci-samsung.c | 46 ++++++------------------
> > 1 file changed, 11 insertions(+), 35 deletions(-)
> >
> > diff --git a/drivers/pci/controller/dwc/pci-samsung.c
> b/drivers/pci/controller/dwc/pci-samsung.c
> > index cfe384aee754..6c07d3f151be 100644
> > --- a/drivers/pci/controller/dwc/pci-samsung.c
> > +++ b/drivers/pci/controller/dwc/pci-samsung.c
> > @@ -54,8 +54,8 @@
> > struct exynos_pcie {
> > struct dw_pcie pci;
> > void __iomem *elbi_base;
> > - struct clk *clk;
> > - struct clk *bus_clk;
> > + struct clk_bulk_data *clks;
> > + int clk_cnt;
> > struct phy *phy;
> > struct regulator_bulk_data supplies[2];
> > };
> > @@ -65,30 +65,18 @@ static int exynos_pcie_init_clk_resources(struct
> exynos_pcie *ep)
> > struct device *dev = ep->pci.dev;
> > int ret;
> >
> > - ret = clk_prepare_enable(ep->clk);
> > - if (ret) {
> > - dev_err(dev, "cannot enable pcie rc clock");
> > + ret = devm_clk_bulk_get_all(dev, &ep->clks);
> > + if (ret < 0)
> > return ret;
> > - }
> >
> > - ret = clk_prepare_enable(ep->bus_clk);
> > - if (ret) {
> > - dev_err(dev, "cannot enable pcie bus clock");
> > - goto err_bus_clk;
> > - }
> > + ep->clk_cnt = ret;
>
> I think this misses check if you got two clocks.
>
>

Got it! Thanks for pointing out. Will add the check in the next version

> Best regards,
> Krzysztof