RE: [PATCH 05/10] PCI: exynos: Add structure to hold resource operations
From: Shradha Todi
Date: Wed May 28 2025 - 00:53:31 EST
> -----Original Message-----
> From: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
> Sent: 21 May 2025 15:13
> To: Shradha Todi <shradha.t@xxxxxxxxxxx>
> Cc: linux-pci@xxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; linux-samsung-soc@xxxxxxxxxxxxxx;
> linux-kernel@xxxxxxxxxxxxxxx; linux-phy@xxxxxxxxxxxxxxxxxxx; manivannan.sadhasivam@xxxxxxxxxx; lpieralisi@xxxxxxxxxx;
> kw@xxxxxxxxx; robh@xxxxxxxxxx; bhelgaas@xxxxxxxxxx; jingoohan1@xxxxxxxxx; krzk+dt@xxxxxxxxxx; conor+dt@xxxxxxxxxx;
> alim.akhtar@xxxxxxxxxxx; vkoul@xxxxxxxxxx; kishon@xxxxxxxxxx; arnd@xxxxxxxx; m.szyprowski@xxxxxxxxxxx;
> jh80.chung@xxxxxxxxxxx; Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx>
> Subject: Re: [PATCH 05/10] PCI: exynos: Add structure to hold resource operations
>
> On Mon, May 19, 2025 at 01:01:47AM GMT, Shradha Todi wrote:
> > +struct samsung_res_ops {
> > + int (*init_regulator)(struct exynos_pcie *ep);
> > + irqreturn_t (*pcie_irq_handler)(int irq, void *arg);
> > };
> >
> > static void exynos_pcie_writel(void __iomem *base, u32 val, u32 reg)
> > @@ -74,6 +81,36 @@ static u32 exynos_pcie_readl(void __iomem *base, u32 reg)
> > return readl(base + reg);
> > }
> >
> > +static int samsung_regulator_enable(struct exynos_pcie *ep) {
> > + struct device *dev = ep->pci.dev;
> > + int ret;
> > +
> > + if (ep->supplies_cnt == 0)
> > + return 0;
> > +
> > + ret = devm_regulator_bulk_get(dev, ep->supplies_cnt, ep->supplies);
>
> No. Getting resources on every enable is making this much less readable.
>
> NAK
>
Will make sure that we get the resources only once during probe.
> Best regards,
> Krzysztof