Re: [PATCH v8 0/8] Introduce the for_each_set_clump8 macro

From: Linus Walleij
Date: Wed Jan 30 2019 - 06:56:39 EST


On Wed, Jan 30, 2019 at 11:17 AM William Breathitt Gray
<vilhelm.gray@xxxxxxxxx> wrote:
> On Tue, Jan 29, 2019 at 05:07:34PM -0800, Andrew Morton wrote:

> > Do we have any expectation that these facilities will be used by
> > anything other than GPIO? If not then perhaps they should be sited
> > within drivers/gpio (presumably as a standalone module) until such a
> > need is found?
>
> I can move it within drivers/gpio since my only use at moment is for
> these gpio drivers I maintain. However, moving it to the gpio subsystem
> does make it less likely to be seen by authors in other subsystems who
> may have use for it -- so there is the chance that this becomes isolated
> and untilized only amonst the gpio drivers. That may not be such a bad
> thing in the end; I suspect it will be easy to spot if other subsystems
> start implementing their own for_each_set_clump (if other subsystems
> would even have such a need for it).

I would sure prefer to have these in the generic core where this patch
puts them. I don't see the problem with that. We have to start generic
code from some point.

> Linus, if I move the for_each_set_clump macro and related functions to
> drivers/gpio, should I move the code into the gpiolib.h and gpiolib.c
> files? Or would it be best to implement this as a separate standalone
> module, and make a Kconfig dependency for those gpio drivers which
> require it? A standalone module feels somewhat overkill for such little
> code in my opinion.

Yeah. I was however thinking about that we should create a helper
library for port-mapped IO along the lines of gpio-mmio.c so we might
as well get started with that in that case, just call it gpio-port-mapped-io.c
and put these in first or something.

Yours,
Linus Walleij