On Thu, Aug 09, 2018 at 03:44:12PM +0300, Aapo Vienamo wrote: > On Thu, 9 Aug 2018 14:27:06 +0200 > Thierry Reding wrote: > > > On Wed, Aug 01, 2018 at 07:32:00PM +0300, Aapo Vienamo wrote: > > > Register a pinctrl device and implement get and set functions for > > > PIN_CONFIG_LOW_POWER_MODE and PIN_CONFIG_POWER_SOURCE parameters. > > > > > > Signed-off-by: Aapo Vienamo > > > Acked-by: Jon Hunter > > > --- > > > drivers/soc/tegra/pmc.c | 187 +++++++++++++++++++++++++++++++++++++++++++++++- > > > 1 file changed, 185 insertions(+), 2 deletions(-) > > > > > > diff --git a/drivers/soc/tegra/pmc.c b/drivers/soc/tegra/pmc.c > > [...] > > > @@ -1704,6 +1863,12 @@ static const u8 tegra124_cpu_powergates[] = { > > > .name = (_name), \ > > > }) > > > > > > +#define TEGRA_IO_PIN_DESC(_id, _dpd, _voltage, _name) \ > > > + ((struct pinctrl_pin_desc) { \ > > > + .number = (_id), \ > > > + .name = (_name) \ > > > + }) > > > + > > > > Do we really need the explicit cast to struct pinctrl_pin_desc here? > > > > No, but I prefer to have it as it makes the type of the value the macro > expands to explicit. In a way it hints at how and where the macro should > be used and arguably improves readability. It's a rather uncommon pattern in the kernel, and most issues are easily caught by the compiler. But it's fine with me if you want to keep it. Thierry