Re: [PATCH v2 2/3] devres: Add devm_ioremap_shared_resource()

From: Ladislav Michl
Date: Wed Jan 24 2018 - 12:15:09 EST


On Wed, Jan 24, 2018 at 06:21:38PM +0200, Andy Shevchenko wrote:
> On Wed, Jan 24, 2018 at 12:07 PM, Ladislav Michl <ladis@xxxxxxxxxxxxxx> wrote:
> > Implement managed ioremap function for shared resources.
>
> > +#define devm_ioremap_resource(dev, res) \
> > + __devm_ioremap_resource(dev, res, false)
> > +#define devm_ioremap_shared_resource(dev, res) \
> > + __devm_ioremap_resource(dev, res, true)
> > +void __iomem *__devm_ioremap_resource(struct device *dev, struct resource *res,
> > + bool shared);
>
> I would rather do the following:
>
> _resource() -> _resource_exclusive()
>
> #define _resource() _resource_exclusive()
>
> Add _resource_shared()
>
> And use long names below in this file whenever refer to exclusive or
> shared variant.

Two separate functions were also considered, but I was unable to find small
common implementation. If code size does not matter or you can provide a hint
to make this solution small and nice, I'll go for it.

> > void devm_iounmap(struct device *dev, void __iomem *addr);
> > int check_signature(const volatile void __iomem *io_addr,
> > const unsigned char *signature, int length);
> > +
> > void devm_ioremap_release(struct device *dev, void *res);
>
> This part doesn't belong to the change.
>
> > + * When possible, use devm_ioremap_resource() or
> > + * devm_ioremap_shared_resource() instead.
> > - * Checks that a resource is a valid memory region, requests the memory
> > - * region and ioremaps it. All operations are managed and will be undone
> > - * on driver detach.
> > + * Checks that a resource is a valid memory region, eventually requests the
> > + * memory region and ioremaps it. All operations are managed and will be
> > + * undone on driver detach.
>
> Wording is changed and no clue in commit message why.

Above will be moved to separate patch.

ladis