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.pinchart@xxxxxxxxxxxxxxxx> -- Regards, Laurent Pinchart -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html