Hi Morimoto-san,

On Friday 13 November 2015 08:47:07 Kuninori Morimoto wrote:
> Hi Geert, Laurent
> 
> > > #define _PORT_GP_CFG_2(bank, pin, fn, sfx, cfg) \
> > > -        _PORT_GP_CFG_1(bank, 0, fn, sfx, cfg) _PORT_GP_CFG_1(bank, 1,
> > > fn, sfx, cfg) +        _PORT_GP_CFG_1(bank, pin, fn, sfx, cfg)
> > > _PORT_GP_CFG_1(bank, pin + 1, fn, sfx, cfg)
> (snip)
> 
> > > I noticed it seems difficult, because it is based on
> > > 
> > >         #define PORT_GP_CFG_1(bank, pin, fn, sfx, cfg) fn(bank, pin,
> > >         GP_##bank##_##pin, sfx, cfg)> >         
> > >                                     ~~~                                 
> > >                                               ~~~
> > > 
> > > we can't use (pin + x) style.
> > > It seems we need all 0 - 32 definition anyway...
> > 
> > Oh right. CPP cannot evaluate the pin number arithmetic :-(
> > 
> > Then your previous patch is indeed the best we can do, I'm afraid.
> 
> I think your idea was good, but unfortunately we can't use it.
> Laurent, what do you think about this patch ?

It would be great to have a more powerful C preprocessor to create a single 
macro that would take the number of pins as a parameter. I think C++ templates 
could do so ;-)

I think your patch is indeed the best that can be done.

Acked-by: Laurent Pinchart <laurent.pinch...@ideasonboard.com>

-- 
Regards,

Laurent Pinchart

--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to