Linux-Renesas-SoC Archive on lore.kernel.org
 help / Atom feed
* [PATCH/RFC] pinctrl: sh-pfc: r8a7791: Fix VIN1 versioned groups
@ 2019-01-11 12:45 Geert Uytterhoeven
  2019-01-11 14:11 ` Simon Horman
  2019-01-23 15:02 ` Geert Uytterhoeven
  0 siblings, 2 replies; 4+ messages in thread
From: Geert Uytterhoeven @ 2019-01-11 12:45 UTC (permalink / raw)
  To: Linus Walleij, Valentine Barshak, Laurent Pinchart,
	Sergei Shtylyov, Biju Das, Simon Horman, Magnus Damm
  Cc: Jacopo Mondi, linux-renesas-soc, linux-gpio, Geert Uytterhoeven

The naming of the "b" versions of the VIN1 pin groups is a bit odd, in
that the "_b" appears in the middle of the names, instead of as a
suffix.

Increase consistency with other SoCs by making R-Car M2-W and M2-N, and
RZ/G1M and RZ/G1N, use the recently added optional "version" argument of
the VIN_DATA_PIN_GROUP() macro.

Note that this breaks backwards compatibility with existing DTBs, but
there are no upstream users of the "vin1_b_*" names.

Fixes: 8e32c9671f84acd8 ("pinctrl: sh-pfc: r8a7791: Add VIN pins")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
Is it worth making this change?
If yes, should we retain backwards-compatibility using e.g. the patch
below, increasing kernel size by 380 bytes?

Note that unlike the deprecated "avb_mdc" pin groups on R-Car Gen3, the
"vin1_b_*" groups never had upstream users, so I'm inclined not to care
about backwards compatibility.

	diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7791.c b/drivers/pinctrl/sh-pfc/pfc-r8a7791.c
	index 25a3dff77e6fa06f..48935495276a16ae 100644
	--- a/drivers/pinctrl/sh-pfc/pfc-r8a7791.c
	+++ b/drivers/pinctrl/sh-pfc/pfc-r8a7791.c
	@@ -4450,7 +4450,7 @@ static const unsigned int vin2_clk_mux[] = {
	 };

	 static const struct {
	-	struct sh_pfc_pin_group common[346];
	+	struct sh_pfc_pin_group common[357];
		struct sh_pfc_pin_group automotive[9];
	 } pinmux_groups = {
		.common = {
	@@ -4795,6 +4795,18 @@ static const struct {
			SH_PFC_PIN_GROUP(vin1_field_b),
			SH_PFC_PIN_GROUP(vin1_clkenb_b),
			SH_PFC_PIN_GROUP(vin1_clk_b),
	+		/* The "vin1_b_*" groups are deprecated */
	+		VIN_DATA_PIN_GROUP_ALIAS(vin1_b_data, vin1_data, 24, _b),
	+		VIN_DATA_PIN_GROUP_ALIAS(vin1_b_data, vin1_data, 20, _b),
	+		SH_PFC_PIN_GROUP_ALIAS(vin1_b_data18, vin1_data18_b),
	+		VIN_DATA_PIN_GROUP_ALIAS(vin1_b_data, vin1_data, 16, _b),
	+		VIN_DATA_PIN_GROUP_ALIAS(vin1_b_data, vin1_data, 12, _b),
	+		VIN_DATA_PIN_GROUP_ALIAS(vin1_b_data, vin1_data, 10, _b),
	+		VIN_DATA_PIN_GROUP_ALIAS(vin1_b_data, vin1_data, 8, _b),
	+		SH_PFC_PIN_GROUP_ALIAS(vin1_b_sync, vin1_sync_b),
	+		SH_PFC_PIN_GROUP_ALIAS(vin1_b_field, vin1_field_b),
	+		SH_PFC_PIN_GROUP_ALIAS(vin1_b_clkenb, vin1_clkenb_b),
	+		SH_PFC_PIN_GROUP_ALIAS(vin1_b_clk, vin1_clk_b),
			SH_PFC_PIN_GROUP(vin2_data8),
			SH_PFC_PIN_GROUP(vin2_sync),
			SH_PFC_PIN_GROUP(vin2_field),
	@@ -5346,6 +5358,17 @@ static const char * const vin1_groups[] = {
		"vin1_field_b",
		"vin1_clkenb_b",
		"vin1_clk_b",
	+	"vin1_b_data24",	/* Deprecated, please use "vin1_data24_b" */
	+	"vin1_b_data20",	/* Deprecated, please use "vin1_data20_b" */
	+	"vin1_b_data18",	/* Deprecated, please use "vin1_data18_b" */
	+	"vin1_b_data16",	/* Deprecated, please use "vin1_data16_b" */
	+	"vin1_b_data12",	/* Deprecated, please use "vin1_data12_b" */
	+	"vin1_b_data10",	/* Deprecated, please use "vin1_data10_b" */
	+	"vin1_b_data8",		/* Deprecated, please use "vin1_data8_b" */
	+	"vin1_b_sync",		/* Deprecated, please use "vin1_sync_b" */
	+	"vin1_b_field",		/* Deprecated, please use "vin1_field_b" */
	+	"vin1_b_clkenb",	/* Deprecated, please use "vin1_clkenb_b" */
	+	"vin1_b_clk",		/* Deprecated, please use "vin1_clk_b" */
	 };

	 static const char * const vin2_groups[] = {
	diff --git a/drivers/pinctrl/sh-pfc/sh_pfc.h b/drivers/pinctrl/sh-pfc/sh_pfc.h
	index 3ccd3b61e94aa028..293b3963c63b9295 100644
	--- a/drivers/pinctrl/sh-pfc/sh_pfc.h
	+++ b/drivers/pinctrl/sh-pfc/sh_pfc.h
	@@ -67,6 +67,14 @@ struct sh_pfc_pin_group {
			.nr_pins = ARRAY_SIZE(n##__VA_ARGS__##_pins.data##s),	\
		}

	+#define VIN_DATA_PIN_GROUP_ALIAS(alias, n, s, ...)			\
	+	{								\
	+		.name = #alias,						\
	+		.pins = n##__VA_ARGS__##_pins.data##s,			\
	+		.mux = n##__VA_ARGS__##_mux.data##s,			\
	+		.nr_pins = ARRAY_SIZE(n##__VA_ARGS__##_pins.data##s),	\
	+	}
	+
	 union vin_data12 {
		unsigned int data12[12];
		unsigned int data10[10];
---
 drivers/pinctrl/sh-pfc/pfc-r8a7791.c | 68 ++++++++++++++--------------
 1 file changed, 34 insertions(+), 34 deletions(-)

diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7791.c b/drivers/pinctrl/sh-pfc/pfc-r8a7791.c
index 2859231aaffc4546..bd363f2e196fcc26 100644
--- a/drivers/pinctrl/sh-pfc/pfc-r8a7791.c
+++ b/drivers/pinctrl/sh-pfc/pfc-r8a7791.c
@@ -4317,7 +4317,7 @@ static const unsigned int vin1_clk_pins[] = {
 static const unsigned int vin1_clk_mux[] = {
 	VI1_CLK_MARK,
 };
-static const union vin_data vin1_b_data_pins = {
+static const union vin_data vin1_data_b_pins = {
 	.data24 = {
 		/* B */
 		RCAR_GP_PIN(3, 0), RCAR_GP_PIN(3, 1),
@@ -4336,7 +4336,7 @@ static const union vin_data vin1_b_data_pins = {
 		RCAR_GP_PIN(2, 19), RCAR_GP_PIN(2, 20),
 	},
 };
-static const union vin_data vin1_b_data_mux = {
+static const union vin_data vin1_data_b_mux = {
 	.data24 = {
 		/* B */
 		VI1_DATA0_B_MARK, VI1_DATA1_B_MARK,
@@ -4355,7 +4355,7 @@ static const union vin_data vin1_b_data_mux = {
 		VI1_R6_B_MARK, VI1_R7_B_MARK,
 	},
 };
-static const unsigned int vin1_b_data18_pins[] = {
+static const unsigned int vin1_data18_b_pins[] = {
 	/* B */
 	RCAR_GP_PIN(3, 8), RCAR_GP_PIN(3, 9),
 	RCAR_GP_PIN(3, 10), RCAR_GP_PIN(3, 11),
@@ -4369,7 +4369,7 @@ static const unsigned int vin1_b_data18_pins[] = {
 	RCAR_GP_PIN(2, 17), RCAR_GP_PIN(2, 18),
 	RCAR_GP_PIN(2, 19), RCAR_GP_PIN(2, 20),
 };
-static const unsigned int vin1_b_data18_mux[] = {
+static const unsigned int vin1_data18_b_mux[] = {
 	/* B */
 	VI1_DATA2_B_MARK, VI1_DATA3_B_MARK,
 	VI1_DATA4_B_MARK, VI1_DATA5_B_MARK,
@@ -4383,30 +4383,30 @@ static const unsigned int vin1_b_data18_mux[] = {
 	VI1_R4_B_MARK, VI1_R5_B_MARK,
 	VI1_R6_B_MARK, VI1_R7_B_MARK,
 };
-static const unsigned int vin1_b_sync_pins[] = {
+static const unsigned int vin1_sync_b_pins[] = {
 	RCAR_GP_PIN(3, 17), /* HSYNC */
 	RCAR_GP_PIN(3, 18), /* VSYNC */
 };
-static const unsigned int vin1_b_sync_mux[] = {
+static const unsigned int vin1_sync_b_mux[] = {
 	VI1_HSYNC_N_B_MARK,
 	VI1_VSYNC_N_B_MARK,
 };
-static const unsigned int vin1_b_field_pins[] = {
+static const unsigned int vin1_field_b_pins[] = {
 	RCAR_GP_PIN(3, 20),
 };
-static const unsigned int vin1_b_field_mux[] = {
+static const unsigned int vin1_field_b_mux[] = {
 	VI1_FIELD_B_MARK,
 };
-static const unsigned int vin1_b_clkenb_pins[] = {
+static const unsigned int vin1_clkenb_b_pins[] = {
 	RCAR_GP_PIN(3, 19),
 };
-static const unsigned int vin1_b_clkenb_mux[] = {
+static const unsigned int vin1_clkenb_b_mux[] = {
 	VI1_CLKENB_B_MARK,
 };
-static const unsigned int vin1_b_clk_pins[] = {
+static const unsigned int vin1_clk_b_pins[] = {
 	RCAR_GP_PIN(3, 16),
 };
-static const unsigned int vin1_b_clk_mux[] = {
+static const unsigned int vin1_clk_b_mux[] = {
 	VI1_CLK_B_MARK,
 };
 /* - VIN2 ----------------------------------------------------------------- */
@@ -4784,17 +4784,17 @@ static const struct {
 		SH_PFC_PIN_GROUP(vin1_field),
 		SH_PFC_PIN_GROUP(vin1_clkenb),
 		SH_PFC_PIN_GROUP(vin1_clk),
-		VIN_DATA_PIN_GROUP(vin1_b_data, 24),
-		VIN_DATA_PIN_GROUP(vin1_b_data, 20),
-		SH_PFC_PIN_GROUP(vin1_b_data18),
-		VIN_DATA_PIN_GROUP(vin1_b_data, 16),
-		VIN_DATA_PIN_GROUP(vin1_b_data, 12),
-		VIN_DATA_PIN_GROUP(vin1_b_data, 10),
-		VIN_DATA_PIN_GROUP(vin1_b_data, 8),
-		SH_PFC_PIN_GROUP(vin1_b_sync),
-		SH_PFC_PIN_GROUP(vin1_b_field),
-		SH_PFC_PIN_GROUP(vin1_b_clkenb),
-		SH_PFC_PIN_GROUP(vin1_b_clk),
+		VIN_DATA_PIN_GROUP(vin1_data, 24, _b),
+		VIN_DATA_PIN_GROUP(vin1_data, 20, _b),
+		SH_PFC_PIN_GROUP(vin1_data18_b),
+		VIN_DATA_PIN_GROUP(vin1_data, 16, _b),
+		VIN_DATA_PIN_GROUP(vin1_data, 12, _b),
+		VIN_DATA_PIN_GROUP(vin1_data, 10, _b),
+		VIN_DATA_PIN_GROUP(vin1_data, 8, _b),
+		SH_PFC_PIN_GROUP(vin1_sync_b),
+		SH_PFC_PIN_GROUP(vin1_field_b),
+		SH_PFC_PIN_GROUP(vin1_clkenb_b),
+		SH_PFC_PIN_GROUP(vin1_clk_b),
 		SH_PFC_PIN_GROUP(vin2_data8),
 		SH_PFC_PIN_GROUP(vin2_sync),
 		SH_PFC_PIN_GROUP(vin2_field),
@@ -5335,17 +5335,17 @@ static const char * const vin1_groups[] = {
 	"vin1_field",
 	"vin1_clkenb",
 	"vin1_clk",
-	"vin1_b_data24",
-	"vin1_b_data20",
-	"vin1_b_data18",
-	"vin1_b_data16",
-	"vin1_b_data12",
-	"vin1_b_data10",
-	"vin1_b_data8",
-	"vin1_b_sync",
-	"vin1_b_field",
-	"vin1_b_clkenb",
-	"vin1_b_clk",
+	"vin1_data24_b",
+	"vin1_data20_b",
+	"vin1_data18_b",
+	"vin1_data16_b",
+	"vin1_data12_b",
+	"vin1_data10_b",
+	"vin1_data8_b",
+	"vin1_sync_b",
+	"vin1_field_b",
+	"vin1_clkenb_b",
+	"vin1_clk_b",
 };
 
 static const char * const vin2_groups[] = {
-- 
2.17.1


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH/RFC] pinctrl: sh-pfc: r8a7791: Fix VIN1 versioned groups
  2019-01-11 12:45 [PATCH/RFC] pinctrl: sh-pfc: r8a7791: Fix VIN1 versioned groups Geert Uytterhoeven
@ 2019-01-11 14:11 ` Simon Horman
  2019-01-21 12:31   ` Geert Uytterhoeven
  2019-01-23 15:02 ` Geert Uytterhoeven
  1 sibling, 1 reply; 4+ messages in thread
From: Simon Horman @ 2019-01-11 14:11 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Linus Walleij, Valentine Barshak, Laurent Pinchart,
	Sergei Shtylyov, Biju Das, Magnus Damm, Jacopo Mondi,
	linux-renesas-soc, linux-gpio

On Fri, Jan 11, 2019 at 01:45:17PM +0100, Geert Uytterhoeven wrote:
> The naming of the "b" versions of the VIN1 pin groups is a bit odd, in
> that the "_b" appears in the middle of the names, instead of as a
> suffix.
> 
> Increase consistency with other SoCs by making R-Car M2-W and M2-N, and
> RZ/G1M and RZ/G1N, use the recently added optional "version" argument of
> the VIN_DATA_PIN_GROUP() macro.
> 
> Note that this breaks backwards compatibility with existing DTBs, but
> there are no upstream users of the "vin1_b_*" names.
> 
> Fixes: 8e32c9671f84acd8 ("pinctrl: sh-pfc: r8a7791: Add VIN pins")
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> ---
> Is it worth making this change?
> If yes, should we retain backwards-compatibility using e.g. the patch
> below, increasing kernel size by 380 bytes?
> 
> Note that unlike the deprecated "avb_mdc" pin groups on R-Car Gen3, the
> "vin1_b_*" groups never had upstream users, so I'm inclined not to care
> about backwards compatibility.

That sounds fine to me.

Reviewed-by: Simon Horman <horms+renesas@verge.net.au>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH/RFC] pinctrl: sh-pfc: r8a7791: Fix VIN1 versioned groups
  2019-01-11 14:11 ` Simon Horman
@ 2019-01-21 12:31   ` Geert Uytterhoeven
  0 siblings, 0 replies; 4+ messages in thread
From: Geert Uytterhoeven @ 2019-01-21 12:31 UTC (permalink / raw)
  To: Simon Horman
  Cc: Geert Uytterhoeven, Linus Walleij, Valentine Barshak,
	Laurent Pinchart, Sergei Shtylyov, Biju Das, Magnus Damm,
	Jacopo Mondi, Linux-Renesas, open list:GPIO SUBSYSTEM

On Fri, Jan 11, 2019 at 3:11 PM Simon Horman <horms@verge.net.au> wrote:
> On Fri, Jan 11, 2019 at 01:45:17PM +0100, Geert Uytterhoeven wrote:
> > The naming of the "b" versions of the VIN1 pin groups is a bit odd, in
> > that the "_b" appears in the middle of the names, instead of as a
> > suffix.
> >
> > Increase consistency with other SoCs by making R-Car M2-W and M2-N, and
> > RZ/G1M and RZ/G1N, use the recently added optional "version" argument of
> > the VIN_DATA_PIN_GROUP() macro.
> >
> > Note that this breaks backwards compatibility with existing DTBs, but
> > there are no upstream users of the "vin1_b_*" names.
> >
> > Fixes: 8e32c9671f84acd8 ("pinctrl: sh-pfc: r8a7791: Add VIN pins")
> > Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> > ---
> > Is it worth making this change?
> > If yes, should we retain backwards-compatibility using e.g. the patch
> > below, increasing kernel size by 380 bytes?
> >
> > Note that unlike the deprecated "avb_mdc" pin groups on R-Car Gen3, the
> > "vin1_b_*" groups never had upstream users, so I'm inclined not to care
> > about backwards compatibility.
>
> That sounds fine to me.
>
> Reviewed-by: Simon Horman <horms+renesas@verge.net.au>

Thanks, queuing in sh-pfc-for-v5.1.

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH/RFC] pinctrl: sh-pfc: r8a7791: Fix VIN1 versioned groups
  2019-01-11 12:45 [PATCH/RFC] pinctrl: sh-pfc: r8a7791: Fix VIN1 versioned groups Geert Uytterhoeven
  2019-01-11 14:11 ` Simon Horman
@ 2019-01-23 15:02 ` Geert Uytterhoeven
  1 sibling, 0 replies; 4+ messages in thread
From: Geert Uytterhoeven @ 2019-01-23 15:02 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Linus Walleij, Valentine Barshak, Laurent Pinchart,
	Sergei Shtylyov, Biju Das, Simon Horman, Magnus Damm,
	Jacopo Mondi, Linux-Renesas, open list:GPIO SUBSYSTEM

On Fri, Jan 11, 2019 at 1:45 PM Geert Uytterhoeven
<geert+renesas@glider.be> wrote:
> The naming of the "b" versions of the VIN1 pin groups is a bit odd, in
> that the "_b" appears in the middle of the names, instead of as a
> suffix.
>
> Increase consistency with other SoCs by making R-Car M2-W and M2-N, and
> RZ/G1M and RZ/G1N, use the recently added optional "version" argument of
> the VIN_DATA_PIN_GROUP() macro.
>
> Note that this breaks backwards compatibility with existing DTBs, but
> there are no upstream users of the "vin1_b_*" names.
>
> Fixes: 8e32c9671f84acd8 ("pinctrl: sh-pfc: r8a7791: Add VIN pins")
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> ---
> Is it worth making this change?
> If yes, should we retain backwards-compatibility using e.g. the patch
> below, increasing kernel size by 380 bytes?
>
> Note that unlike the deprecated "avb_mdc" pin groups on R-Car Gen3, the
> "vin1_b_*" groups never had upstream users, so I'm inclined not to care
> about backwards compatibility.

>         --- a/drivers/pinctrl/sh-pfc/sh_pfc.h
>         +++ b/drivers/pinctrl/sh-pfc/sh_pfc.h
>         @@ -67,6 +67,14 @@ struct sh_pfc_pin_group {
>                         .nr_pins = ARRAY_SIZE(n##__VA_ARGS__##_pins.data##s),   \
>                 }
>
>         +#define VIN_DATA_PIN_GROUP_ALIAS(alias, n, s, ...)                     \
>         +       {                                                               \
>         +               .name = #alias,                                         \

JFTR (everything below "---" is not meant to be included anyway):

        .name = #alias#s,                                       \

>         +               .pins = n##__VA_ARGS__##_pins.data##s,                  \
>         +               .mux = n##__VA_ARGS__##_mux.data##s,                    \
>         +               .nr_pins = ARRAY_SIZE(n##__VA_ARGS__##_pins.data##s),   \
>         +       }
>         +

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, back to index

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-11 12:45 [PATCH/RFC] pinctrl: sh-pfc: r8a7791: Fix VIN1 versioned groups Geert Uytterhoeven
2019-01-11 14:11 ` Simon Horman
2019-01-21 12:31   ` Geert Uytterhoeven
2019-01-23 15:02 ` Geert Uytterhoeven

Linux-Renesas-SoC Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-renesas-soc/0 linux-renesas-soc/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-renesas-soc linux-renesas-soc/ https://lore.kernel.org/linux-renesas-soc \
		linux-renesas-soc@vger.kernel.org linux-renesas-soc@archiver.kernel.org
	public-inbox-index linux-renesas-soc


Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-renesas-soc


AGPL code for this site: git clone https://public-inbox.org/ public-inbox