Re: [PATCH 1/4] nvmem: Add macro to register nvmem layout drivers

From: Miquel Raynal
Date: Thu Mar 16 2023 - 12:39:32 EST


Hi Rafał,

rafal@xxxxxxxxxx wrote on Thu, 16 Mar 2023 17:28:04 +0100:

> On 2023-03-15 11:00, Miquel Raynal wrote:
> > Provide a module_nvmem_layout_driver() macro at the end of the
> > nvmem-provider.h header to reduce the boilerplate when registering > nvmem
> > layout drivers.
>
> I think you should take care of including <linux/device/driver.h>
> instead of depending on module_nvmem_layout_driver() *callers* to do
> that.

Right, I'll do that.

>
> That would help avoiding errors like:
>
> In file included from drivers/nvmem/layouts/fixed.c:5:
> ./include/linux/nvmem-provider.h:252:2: warning: data definition has no type or storage class
> 252 | module_driver(__layout_driver, nvmem_layout_register, \
> | ^~~~~~~~~~~~~
> ./include/linux/nvmem-provider.h:252:2: error: type defaults to 'int' in declaration of 'module_driver' [-Werror=implicit-int]
> 252 | module_driver(__layout_driver, nvmem_layout_register, \
> | ^~~~~~~~~~~~~
>
>
> > Suggested-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx>
> > Signed-off-by: Miquel Raynal <miquel.raynal@xxxxxxxxxxx>
> > ---
> > include/linux/nvmem-provider.h | 5 +++++
> > 1 file changed, 5 insertions(+)
> >
> > diff --git a/include/linux/nvmem-provider.h > b/include/linux/nvmem-provider.h
> > index 0cf9f9490514..a1c668018894 100644
> > --- a/include/linux/nvmem-provider.h
> > +++ b/include/linux/nvmem-provider.h
> > @@ -240,4 +240,9 @@ nvmem_layout_get_match_data(struct nvmem_device > *nvmem,
> > }
> >
> > #endif /* CONFIG_NVMEM */
> > +
> > +#define module_nvmem_layout_driver(__layout_driver) \
> > + module_driver(__layout_driver, nvmem_layout_register, \
> > + nvmem_layout_unregister)
> > +
> > #endif /* ifndef _LINUX_NVMEM_PROVIDER_H */


Thanks,
Miquèl