Re: [PATCH v2][RFC] pinctrl: sh-pfc: share/reuse same PORT_GP_x() macros

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux