Re: [PATCH 03/05 v2] pinctrl: sh-pfc: r7s72100 single pin macros

From: Laurent Pinchart
Date: Tue Dec 17 2013 - 11:01:28 EST


Hi Magnus,

Thank you for the patches.

On Tuesday 17 December 2013 11:38:14 Magnus Damm wrote:
> From: Magnus Damm <damm@xxxxxxxxxxxxx>
>
> 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 <damm@xxxxxxxxxxxxx>
> ---
>
> 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

Do you mean s/####sfx/##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, \
> +};

I would have preferred keeping the trailing semicolon (and comma in the
RZ_GROUPS macro) out of the macro, but that won't be possible as the
RZ_PIN_AND_MUX and RZ_GROUPS macros are used as arguments to the SCIF macros
in the next patch.

> +
> +#define RZ_PMX_GROUP(pfx, hw, bank, pin, fn) \
> + SH_PFC_PIN_GROUP(pfx##_##hw##_p##bank##_##pin),
> +
> +#define __RZ_GROUPS(x) #x

Can't you replace __RZ_GROUPS() by __stringify() ?

> +#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[] = {
> +};

I think this should be part of patch 04/05.

> static const struct sh_pfc_function pinmux_functions[] = {
> };

--
Regards,

Laurent Pinchart

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/