From: Magnus Damm <d...@opensource.se> Introduce macros that allow description of one pin per line. Compared to the other ways of doing this, using this style we can compresses the description of each pin from 9 to 1 line.
Signed-off-by: Magnus Damm <d...@opensource.se> --- This patch uses RZ_PMX_GROUP and RZ_GROUPS, thanks Laurent! drivers/pinctrl/sh-pfc/pfc-r7s72100.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) --- 0003/drivers/pinctrl/sh-pfc/pfc-r7s72100.c +++ work/drivers/pinctrl/sh-pfc/pfc-r7s72100.c 2013-12-16 19:14:30.000000000 +0900 @@ -98,9 +98,30 @@ static struct sh_pfc_pin pinmux_pins[] = #define RZ_PORT_PIN(bank, pin) (((bank) * 16) + (pin)) +#define __RZ_STR(pfx, hw, bank, pin, sfx) \ + pfx##_##hw##_p##bank##_##pin####sfx + +#define RZ_PIN_AND_MUX(pfx, hw, bank, pin, fn) \ +static const unsigned int __RZ_STR(pfx, hw, bank, pin, _pins)[] = { \ + RZ_PORT_PIN(bank, pin), \ +}; \ +static const unsigned int __RZ_STR(pfx, hw, bank, pin, _mux)[] = { \ + P_##bank##_##pin##_MARK_FN##fn, \ +}; + +#define RZ_PMX_GROUP(pfx, hw, bank, pin, fn) \ + SH_PFC_PIN_GROUP(pfx##_##hw##_p##bank##_##pin), + +#define __RZ_GROUPS(x) #x + +#define RZ_GROUPS(pfx, hw, bank, pin, fn) \ + __RZ_GROUPS(pfx##_##hw##_p##bank##_##pin), + static const struct sh_pfc_pin_group pinmux_groups[] = { }; +static const char * const scif2_groups[] = { +}; static const struct sh_pfc_function pinmux_functions[] = { }; -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/