lkml.org 
[lkml]   [2022]   [Jun]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [PATCH v11 net-next 1/9] mfd: ocelot: add helper to get regmap from a resource
    Date
    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@in-advantage.com> 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.
    \
     
     \ /
      Last update: 2022-06-28 17:34    [W:2.706 / U:0.228 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site