On Sat, Jun 11, 2022 at 12:26:31PM +0200, Andy Shevchenko wrote: > On Fri, Jun 10, 2022 at 7:57 PM 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. > > ... > > > +#include <linux/err.h> > > +#include <linux/platform_device.h> > > +#include <linux/regmap.h> > > Since it's header the rule of thumb is to include headers this one is > a direct user of. Here I see missed > types.h > > Also missed forward declarations > > struct resource; Ahh, thank you. Yes, you mentioned this in v8 but I misuderstood what you were saying. I'll also include types.h. > > ... > > > + if (!IS_ERR(regs)) > > Why not positive conditional? > > > + *map = devm_regmap_init_mmio(&pdev->dev, regs, config); > > + else > > + *map = ERR_PTR(ENODEV); > > Missed -. Fixed. Thanks. > > -- > With Best Regards, > Andy Shevchenko