Re: [PATCH v11 net-next 1/9] mfd: ocelot: add helper to get regmap from a resource

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jun 28, 2022 at 02:50:36PM +0200, Andy Shevchenko wrote:
> On Tue, Jun 28, 2022 at 10:17 AM Colin Foster
> <colin.foster@xxxxxxxxxxxxxxxx> wrote:
> >
> > Several ocelot-related modules are designed for MMIO / regmaps. As such,
> > they often use a combination of devm_platform_get_and_ioremap_resource and
> > devm_regmap_init_mmio.
> >
> > Operating in an MFD might be different, in that it could be memory mapped,
> > or it could be SPI, I2C... In these cases a fallback to use IORESOURCE_REG
> > instead of IORESOURCE_MEM becomes necessary.
> >
> > When this happens, there's redundant logic that needs to be implemented in
> > every driver. In order to avoid this redundancy, utilize a single function
> > that, if the MFD scenario is enabled, will perform this fallback logic.
> 
> > +       regs = devm_platform_get_and_ioremap_resource(pdev, index, &res);
> > +
> > +       if (!res)
> > +               return ERR_PTR(-ENOENT);
> 
> This needs a comment why the original error code from devm_ call above
> is not good here.

I think what is really needed is an _optional() variant of
ocelot_platform_init_regmap_from_resource(), which just returns NULL on
missing resource and doesn't ioremap anything. It can be easily open
coded, i.e. instead of creating devm_platform_get_and_ioremap_resource_optional(),
we could just call platform_get_resource() and devm_ioremap_resource()
individually.



[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux