linux-renesas-soc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 00/13] pinctrl: Convert struct group_desc to use struct pingroup
@ 2023-12-11 18:57 Andy Shevchenko
  2023-12-11 18:57 ` [PATCH v5 01/13] pinctrl: core: Add a convenient define PINCTRL_GROUP_DESC() Andy Shevchenko
                   ` (13 more replies)
  0 siblings, 14 replies; 19+ messages in thread
From: Andy Shevchenko @ 2023-12-11 18:57 UTC (permalink / raw)
  To: Linus Walleij, Bartosz Golaszewski, Andy Shevchenko,
	Geert Uytterhoeven, Rasmus Villemoes, Biju Das, Claudiu Beznea,
	Jianlong Huang, linux-arm-kernel, linux-gpio, linux-kernel,
	linux-mediatek, linux-mips, linux-renesas-soc
  Cc: Ray Jui, Scott Branden, Broadcom internal kernel review list,
	Dong Aisheng, Fabio Estevam, Shawn Guo, Jacky Bai,
	Pengutronix Kernel Team, Sascha Hauer, NXP Linux Team, Sean Wang,
	Paul Cercueil, Lakshmi Sowjanya D, Emil Renner Berthing,
	Hal Feng

The struct group_desc has a lot of duplication with struct pingroup.
Deduplicate that by embeddind the latter in the former and convert
users.

NB. The function_desc is in plan to follow the similar deduplication.

This time test-compiled with old GCC 8 for arm64, besides GCC 13 and
LLVM 16 for x86_64.

In v5:
- dropped applied patches
- elaborated the need of the conversion (Fabio)
- reworked to avoid build errors on old GCC (Marek, Krzysztof, Geert)

v4: https://lore.kernel.org/r/20231129161459.1002323-1-andriy.shevchenko@linux.intel.com

In v4:
- made pins also unsigned in struct group_desc (Geert)
- made local pins variable unsigned in renesas drivers (Geert)
- collected more tags (Paul, Geert)

v3: https://lore.kernel.org/r/20231128200155.438722-1-andriy.shevchenko@linux.intel.com

In v3:
- fixed reported bug in equilibrium code (LKP)                                                                   - collected tags (Emil, Florian, Paul)

v2: https://lore.kernel.org/r/20231123193355.3400852-1-andriy.shevchenko@linux.intel.com

In v2:
- added a few patches to fix multiple compile-time errors (LKP)
- added tag (Jonathan)

v1: https://lore.kernel.org/r/20231122164040.2262742-1-andriy.shevchenko@linux.intel.com

Andy Shevchenko (13):
  pinctrl: core: Add a convenient define PINCTRL_GROUP_DESC()
  pinctrl: mediatek: Use C99 initializers in PINCTRL_PIN_GROUP()
  pinctrl: ingenic: Use C99 initializers in PINCTRL_PIN_GROUP()
  pinctrl: core: Embed struct pingroup into struct group_desc
  pinctrl: bcm: Convert to use grp member
  pinctrl: equilibrium: Convert to use grp member
  pinctrl: imx: Convert to use grp member
  pinctrl: ingenic: Convert to use grp member
  pinctrl: keembay: Convert to use grp member
  pinctrl: mediatek: Convert to use grp member
  pinctrl: renesas: Convert to use grp member
  pinctrl: starfive: Convert to use grp member
  pinctrl: core: Remove unused members from struct group_desc

 drivers/pinctrl/bcm/pinctrl-ns.c              |  4 +--
 drivers/pinctrl/core.c                        | 11 +++---
 drivers/pinctrl/core.h                        | 17 +++++----
 drivers/pinctrl/freescale/pinctrl-imx.c       | 31 ++++++++--------
 drivers/pinctrl/mediatek/pinctrl-moore.c      | 13 ++++---
 drivers/pinctrl/mediatek/pinctrl-moore.h      | 10 +++---
 drivers/pinctrl/mediatek/pinctrl-paris.h      | 10 +++---
 drivers/pinctrl/pinctrl-equilibrium.c         |  4 +--
 drivers/pinctrl/pinctrl-ingenic.c             | 35 ++++++++++---------
 drivers/pinctrl/pinctrl-keembay.c             |  2 +-
 drivers/pinctrl/renesas/pinctrl-rza1.c        |  2 +-
 drivers/pinctrl/renesas/pinctrl-rza2.c        | 10 +++---
 drivers/pinctrl/renesas/pinctrl-rzg2l.c       |  4 +--
 drivers/pinctrl/renesas/pinctrl-rzv2m.c       |  4 +--
 .../starfive/pinctrl-starfive-jh7100.c        |  8 ++---
 .../starfive/pinctrl-starfive-jh7110.c        |  8 ++---
 16 files changed, 84 insertions(+), 89 deletions(-)

-- 
2.43.0.rc1.1.gbec44491f096


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

* [PATCH v5 01/13] pinctrl: core: Add a convenient define PINCTRL_GROUP_DESC()
  2023-12-11 18:57 [PATCH v5 00/13] pinctrl: Convert struct group_desc to use struct pingroup Andy Shevchenko
@ 2023-12-11 18:57 ` Andy Shevchenko
  2023-12-11 18:57 ` [PATCH v5 02/13] pinctrl: mediatek: Use C99 initializers in PINCTRL_PIN_GROUP() Andy Shevchenko
                   ` (12 subsequent siblings)
  13 siblings, 0 replies; 19+ messages in thread
From: Andy Shevchenko @ 2023-12-11 18:57 UTC (permalink / raw)
  To: Linus Walleij, Bartosz Golaszewski, Andy Shevchenko,
	Geert Uytterhoeven, Rasmus Villemoes, Biju Das, Claudiu Beznea,
	Jianlong Huang, linux-arm-kernel, linux-gpio, linux-kernel,
	linux-mediatek, linux-mips, linux-renesas-soc
  Cc: Ray Jui, Scott Branden, Broadcom internal kernel review list,
	Dong Aisheng, Fabio Estevam, Shawn Guo, Jacky Bai,
	Pengutronix Kernel Team, Sascha Hauer, NXP Linux Team, Sean Wang,
	Paul Cercueil, Lakshmi Sowjanya D, Emil Renner Berthing,
	Hal Feng

Add PINCTRL_GROUP_DESC() macro for inline use.

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/pinctrl/core.c | 5 +----
 drivers/pinctrl/core.h | 9 +++++++++
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/drivers/pinctrl/core.c b/drivers/pinctrl/core.c
index 6380e1fa6509..75f2689c3bad 100644
--- a/drivers/pinctrl/core.c
+++ b/drivers/pinctrl/core.c
@@ -658,10 +658,7 @@ int pinctrl_generic_add_group(struct pinctrl_dev *pctldev, const char *name,
 	if (!group)
 		return -ENOMEM;
 
-	group->name = name;
-	group->pins = pins;
-	group->num_pins = num_pins;
-	group->data = data;
+	*group = PINCTRL_GROUP_DESC(name, pins, num_pins, data);
 
 	error = radix_tree_insert(&pctldev->pin_group_tree, selector, group);
 	if (error)
diff --git a/drivers/pinctrl/core.h b/drivers/pinctrl/core.h
index 8ef4b536bca5..bf971e6a7846 100644
--- a/drivers/pinctrl/core.h
+++ b/drivers/pinctrl/core.h
@@ -208,6 +208,15 @@ struct group_desc {
 	void *data;
 };
 
+/* Convenience macro to define a generic pin group descriptor */
+#define PINCTRL_GROUP_DESC(_name, _pins, _num_pins, _data)	\
+(struct group_desc) {						\
+	.name = _name,						\
+	.pins = _pins,						\
+	.num_pins = _num_pins,					\
+	.data = _data,						\
+}
+
 int pinctrl_generic_get_group_count(struct pinctrl_dev *pctldev);
 
 const char *pinctrl_generic_get_group_name(struct pinctrl_dev *pctldev,
-- 
2.43.0.rc1.1.gbec44491f096


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

* [PATCH v5 02/13] pinctrl: mediatek: Use C99 initializers in PINCTRL_PIN_GROUP()
  2023-12-11 18:57 [PATCH v5 00/13] pinctrl: Convert struct group_desc to use struct pingroup Andy Shevchenko
  2023-12-11 18:57 ` [PATCH v5 01/13] pinctrl: core: Add a convenient define PINCTRL_GROUP_DESC() Andy Shevchenko
@ 2023-12-11 18:57 ` Andy Shevchenko
  2023-12-11 18:57 ` [PATCH v5 03/13] pinctrl: ingenic: " Andy Shevchenko
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 19+ messages in thread
From: Andy Shevchenko @ 2023-12-11 18:57 UTC (permalink / raw)
  To: Linus Walleij, Bartosz Golaszewski, Andy Shevchenko,
	Geert Uytterhoeven, Rasmus Villemoes, Biju Das, Claudiu Beznea,
	Jianlong Huang, linux-arm-kernel, linux-gpio, linux-kernel,
	linux-mediatek, linux-mips, linux-renesas-soc
  Cc: Ray Jui, Scott Branden, Broadcom internal kernel review list,
	Dong Aisheng, Fabio Estevam, Shawn Guo, Jacky Bai,
	Pengutronix Kernel Team, Sascha Hauer, NXP Linux Team, Sean Wang,
	Paul Cercueil, Lakshmi Sowjanya D, Emil Renner Berthing,
	Hal Feng

For the better flexibility use C99 initializers in PINCTRL_PIN_GROUP().

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/pinctrl/mediatek/pinctrl-moore.h | 12 ++++++------
 drivers/pinctrl/mediatek/pinctrl-paris.h | 12 ++++++------
 2 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/drivers/pinctrl/mediatek/pinctrl-moore.h b/drivers/pinctrl/mediatek/pinctrl-moore.h
index e1b4b82b9d3d..36ee0021cf7e 100644
--- a/drivers/pinctrl/mediatek/pinctrl-moore.h
+++ b/drivers/pinctrl/mediatek/pinctrl-moore.h
@@ -37,12 +37,12 @@
 		.funcs = NULL,				\
 	}
 
-#define PINCTRL_PIN_GROUP(name, id)			\
-	{						\
-		name,					\
-		id##_pins,				\
-		ARRAY_SIZE(id##_pins),			\
-		id##_funcs,				\
+#define PINCTRL_PIN_GROUP(_name_, id)							\
+	{										\
+		.name = _name_,								\
+		.pins = id##_pins,							\
+		.num_pins = ARRAY_SIZE(id##_pins),					\
+		.data = id##_funcs,							\
 	}
 
 int mtk_moore_pinctrl_probe(struct platform_device *pdev,
diff --git a/drivers/pinctrl/mediatek/pinctrl-paris.h b/drivers/pinctrl/mediatek/pinctrl-paris.h
index 8762ac599329..5c4e5b74e43e 100644
--- a/drivers/pinctrl/mediatek/pinctrl-paris.h
+++ b/drivers/pinctrl/mediatek/pinctrl-paris.h
@@ -49,12 +49,12 @@
 			__VA_ARGS__, { } },				\
 	}
 
-#define PINCTRL_PIN_GROUP(name, id)			\
-	{						\
-		name,					\
-		id##_pins,				\
-		ARRAY_SIZE(id##_pins),			\
-		id##_funcs,				\
+#define PINCTRL_PIN_GROUP(_name_, id)							\
+	{										\
+		.name = _name_,								\
+		.pins = id##_pins,							\
+		.num_pins = ARRAY_SIZE(id##_pins),					\
+		.data = id##_funcs,							\
 	}
 
 int mtk_paris_pinctrl_probe(struct platform_device *pdev);
-- 
2.43.0.rc1.1.gbec44491f096


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

* [PATCH v5 03/13] pinctrl: ingenic: Use C99 initializers in PINCTRL_PIN_GROUP()
  2023-12-11 18:57 [PATCH v5 00/13] pinctrl: Convert struct group_desc to use struct pingroup Andy Shevchenko
  2023-12-11 18:57 ` [PATCH v5 01/13] pinctrl: core: Add a convenient define PINCTRL_GROUP_DESC() Andy Shevchenko
  2023-12-11 18:57 ` [PATCH v5 02/13] pinctrl: mediatek: Use C99 initializers in PINCTRL_PIN_GROUP() Andy Shevchenko
@ 2023-12-11 18:57 ` Andy Shevchenko
  2023-12-13  9:55   ` Paul Cercueil
  2023-12-11 18:57 ` [PATCH v5 04/13] pinctrl: core: Embed struct pingroup into struct group_desc Andy Shevchenko
                   ` (10 subsequent siblings)
  13 siblings, 1 reply; 19+ messages in thread
From: Andy Shevchenko @ 2023-12-11 18:57 UTC (permalink / raw)
  To: Linus Walleij, Bartosz Golaszewski, Andy Shevchenko,
	Geert Uytterhoeven, Rasmus Villemoes, Biju Das, Claudiu Beznea,
	Jianlong Huang, linux-arm-kernel, linux-gpio, linux-kernel,
	linux-mediatek, linux-mips, linux-renesas-soc
  Cc: Ray Jui, Scott Branden, Broadcom internal kernel review list,
	Dong Aisheng, Fabio Estevam, Shawn Guo, Jacky Bai,
	Pengutronix Kernel Team, Sascha Hauer, NXP Linux Team, Sean Wang,
	Paul Cercueil, Lakshmi Sowjanya D, Emil Renner Berthing,
	Hal Feng

For the better flexibility use C99 initializers in PINCTRL_PIN_GROUP().

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/pinctrl/pinctrl-ingenic.c | 21 +++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-ingenic.c b/drivers/pinctrl/pinctrl-ingenic.c
index ee718f6e2556..f5661dcdedf5 100644
--- a/drivers/pinctrl/pinctrl-ingenic.c
+++ b/drivers/pinctrl/pinctrl-ingenic.c
@@ -82,16 +82,21 @@
 #define PINS_PER_GPIO_CHIP			32
 #define JZ4730_PINS_PER_PAIRED_REG	16
 
-#define INGENIC_PIN_GROUP_FUNCS(name, id, funcs)		\
-	{						\
-		name,					\
-		id##_pins,				\
-		ARRAY_SIZE(id##_pins),			\
-		funcs,					\
+#define INGENIC_PIN_GROUP_FUNCS(_name_, id, funcs)					\
+	{										\
+		.name = _name_,								\
+		.pins = id##_pins,							\
+		.num_pins = ARRAY_SIZE(id##_pins),					\
+		.data = funcs,								\
 	}
 
-#define INGENIC_PIN_GROUP(name, id, func)		\
-	INGENIC_PIN_GROUP_FUNCS(name, id, (void *)(func))
+#define INGENIC_PIN_GROUP(_name_, id, func)						\
+	{										\
+		.name = _name_,								\
+		.pins = id##_pins,							\
+		.num_pins = ARRAY_SIZE(id##_pins),					\
+		.data = (void *)func,							\
+	}
 
 enum jz_version {
 	ID_JZ4730,
-- 
2.43.0.rc1.1.gbec44491f096


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

* [PATCH v5 04/13] pinctrl: core: Embed struct pingroup into struct group_desc
  2023-12-11 18:57 [PATCH v5 00/13] pinctrl: Convert struct group_desc to use struct pingroup Andy Shevchenko
                   ` (2 preceding siblings ...)
  2023-12-11 18:57 ` [PATCH v5 03/13] pinctrl: ingenic: " Andy Shevchenko
@ 2023-12-11 18:57 ` Andy Shevchenko
  2023-12-11 18:57 ` [PATCH v5 05/13] pinctrl: bcm: Convert to use grp member Andy Shevchenko
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 19+ messages in thread
From: Andy Shevchenko @ 2023-12-11 18:57 UTC (permalink / raw)
  To: Linus Walleij, Bartosz Golaszewski, Andy Shevchenko,
	Geert Uytterhoeven, Rasmus Villemoes, Biju Das, Claudiu Beznea,
	Jianlong Huang, linux-arm-kernel, linux-gpio, linux-kernel,
	linux-mediatek, linux-mips, linux-renesas-soc
  Cc: Ray Jui, Scott Branden, Broadcom internal kernel review list,
	Dong Aisheng, Fabio Estevam, Shawn Guo, Jacky Bai,
	Pengutronix Kernel Team, Sascha Hauer, NXP Linux Team, Sean Wang,
	Paul Cercueil, Lakshmi Sowjanya D, Emil Renner Berthing,
	Hal Feng

struct group_desc is a particular version of the struct pingroup
with associated opaque data. Start switching pin control core and
drivers to use it explicitly.

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/pinctrl/core.c | 15 ++++++++++++---
 drivers/pinctrl/core.h |  5 +++++
 2 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/drivers/pinctrl/core.c b/drivers/pinctrl/core.c
index 75f2689c3bad..48cc5571dea6 100644
--- a/drivers/pinctrl/core.c
+++ b/drivers/pinctrl/core.c
@@ -557,7 +557,10 @@ const char *pinctrl_generic_get_group_name(struct pinctrl_dev *pctldev,
 	if (!group)
 		return NULL;
 
-	return group->name;
+	if (group->name)
+		return group->name;
+
+	return group->grp.name;
 }
 EXPORT_SYMBOL_GPL(pinctrl_generic_get_group_name);
 
@@ -583,8 +586,14 @@ int pinctrl_generic_get_group_pins(struct pinctrl_dev *pctldev,
 		return -EINVAL;
 	}
 
-	*pins = group->pins;
-	*num_pins = group->num_pins;
+	if (group->pins) {
+		*pins = group->pins;
+		*num_pins = group->num_pins;
+		return 0;
+	}
+
+	*pins = group->grp.pins;
+	*num_pins = group->grp.npins;
 
 	return 0;
 }
diff --git a/drivers/pinctrl/core.h b/drivers/pinctrl/core.h
index bf971e6a7846..a3b75ec7b54b 100644
--- a/drivers/pinctrl/core.h
+++ b/drivers/pinctrl/core.h
@@ -194,14 +194,18 @@ struct pinctrl_maps {
 
 #ifdef CONFIG_GENERIC_PINCTRL_GROUPS
 
+#include <linux/pinctrl/pinctrl.h>
+
 /**
  * struct group_desc - generic pin group descriptor
+ * @grp: generic data of the pin group (name and pins)
  * @name: name of the pin group
  * @pins: array of pins that belong to the group
  * @num_pins: number of pins in the group
  * @data: pin controller driver specific data
  */
 struct group_desc {
+	struct pingroup grp;
 	const char *name;
 	const unsigned int *pins;
 	int num_pins;
@@ -211,6 +215,7 @@ struct group_desc {
 /* Convenience macro to define a generic pin group descriptor */
 #define PINCTRL_GROUP_DESC(_name, _pins, _num_pins, _data)	\
 (struct group_desc) {						\
+	.grp = PINCTRL_PINGROUP(_name, _pins, _num_pins),	\
 	.name = _name,						\
 	.pins = _pins,						\
 	.num_pins = _num_pins,					\
-- 
2.43.0.rc1.1.gbec44491f096


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

* [PATCH v5 05/13] pinctrl: bcm: Convert to use grp member
  2023-12-11 18:57 [PATCH v5 00/13] pinctrl: Convert struct group_desc to use struct pingroup Andy Shevchenko
                   ` (3 preceding siblings ...)
  2023-12-11 18:57 ` [PATCH v5 04/13] pinctrl: core: Embed struct pingroup into struct group_desc Andy Shevchenko
@ 2023-12-11 18:57 ` Andy Shevchenko
  2023-12-11 18:57 ` [PATCH v5 06/13] pinctrl: equilibrium: " Andy Shevchenko
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 19+ messages in thread
From: Andy Shevchenko @ 2023-12-11 18:57 UTC (permalink / raw)
  To: Linus Walleij, Bartosz Golaszewski, Andy Shevchenko,
	Geert Uytterhoeven, Rasmus Villemoes, Biju Das, Claudiu Beznea,
	Jianlong Huang, linux-arm-kernel, linux-gpio, linux-kernel,
	linux-mediatek, linux-mips, linux-renesas-soc
  Cc: Ray Jui, Scott Branden, Broadcom internal kernel review list,
	Dong Aisheng, Fabio Estevam, Shawn Guo, Jacky Bai,
	Pengutronix Kernel Team, Sascha Hauer, NXP Linux Team, Sean Wang,
	Paul Cercueil, Lakshmi Sowjanya D, Emil Renner Berthing,
	Hal Feng, Florian Fainelli

Convert drivers to use grp member embedded in struct group_desc,
because other members will be removed to avoid duplication and
desynchronisation of the generic pin group description.

Tested-by: Florian Fainelli <florian.fainelli@broadcom.com>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/pinctrl/bcm/pinctrl-ns.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/pinctrl/bcm/pinctrl-ns.c b/drivers/pinctrl/bcm/pinctrl-ns.c
index d099a7f25f64..6bb2b461950b 100644
--- a/drivers/pinctrl/bcm/pinctrl-ns.c
+++ b/drivers/pinctrl/bcm/pinctrl-ns.c
@@ -171,8 +171,8 @@ static int ns_pinctrl_set_mux(struct pinctrl_dev *pctrl_dev,
 	if (!group)
 		return -EINVAL;
 
-	for (i = 0; i < group->num_pins; i++)
-		unset |= BIT(group->pins[i]);
+	for (i = 0; i < group->grp.npins; i++)
+		unset |= BIT(group->grp.pins[i]);
 
 	tmp = readl(ns_pinctrl->base);
 	tmp &= ~unset;
-- 
2.43.0.rc1.1.gbec44491f096


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

* [PATCH v5 06/13] pinctrl: equilibrium: Convert to use grp member
  2023-12-11 18:57 [PATCH v5 00/13] pinctrl: Convert struct group_desc to use struct pingroup Andy Shevchenko
                   ` (4 preceding siblings ...)
  2023-12-11 18:57 ` [PATCH v5 05/13] pinctrl: bcm: Convert to use grp member Andy Shevchenko
@ 2023-12-11 18:57 ` Andy Shevchenko
  2023-12-11 18:58 ` [PATCH v5 07/13] pinctrl: imx: " Andy Shevchenko
                   ` (7 subsequent siblings)
  13 siblings, 0 replies; 19+ messages in thread
From: Andy Shevchenko @ 2023-12-11 18:57 UTC (permalink / raw)
  To: Linus Walleij, Bartosz Golaszewski, Andy Shevchenko,
	Geert Uytterhoeven, Rasmus Villemoes, Biju Das, Claudiu Beznea,
	Jianlong Huang, linux-arm-kernel, linux-gpio, linux-kernel,
	linux-mediatek, linux-mips, linux-renesas-soc
  Cc: Ray Jui, Scott Branden, Broadcom internal kernel review list,
	Dong Aisheng, Fabio Estevam, Shawn Guo, Jacky Bai,
	Pengutronix Kernel Team, Sascha Hauer, NXP Linux Team, Sean Wang,
	Paul Cercueil, Lakshmi Sowjanya D, Emil Renner Berthing,
	Hal Feng

Convert drivers to use grp member embedded in struct group_desc,
because other members will be removed to avoid duplication and
desynchronisation of the generic pin group description.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/pinctrl/pinctrl-equilibrium.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-equilibrium.c b/drivers/pinctrl/pinctrl-equilibrium.c
index 4ebae516d1b1..6e1be38865c3 100644
--- a/drivers/pinctrl/pinctrl-equilibrium.c
+++ b/drivers/pinctrl/pinctrl-equilibrium.c
@@ -331,8 +331,8 @@ static int eqbr_pinmux_set_mux(struct pinctrl_dev *pctldev,
 		return -EINVAL;
 
 	pinmux = grp->data;
-	for (i = 0; i < grp->num_pins; i++)
-		eqbr_set_pin_mux(pctl, pinmux[i], grp->pins[i]);
+	for (i = 0; i < grp->grp.npins; i++)
+		eqbr_set_pin_mux(pctl, pinmux[i], grp->grp.pins[i]);
 
 	return 0;
 }
-- 
2.43.0.rc1.1.gbec44491f096


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

* [PATCH v5 07/13] pinctrl: imx: Convert to use grp member
  2023-12-11 18:57 [PATCH v5 00/13] pinctrl: Convert struct group_desc to use struct pingroup Andy Shevchenko
                   ` (5 preceding siblings ...)
  2023-12-11 18:57 ` [PATCH v5 06/13] pinctrl: equilibrium: " Andy Shevchenko
@ 2023-12-11 18:58 ` Andy Shevchenko
  2023-12-11 18:58 ` [PATCH v5 08/13] pinctrl: ingenic: " Andy Shevchenko
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 19+ messages in thread
From: Andy Shevchenko @ 2023-12-11 18:58 UTC (permalink / raw)
  To: Linus Walleij, Bartosz Golaszewski, Andy Shevchenko,
	Geert Uytterhoeven, Rasmus Villemoes, Biju Das, Claudiu Beznea,
	Jianlong Huang, linux-arm-kernel, linux-gpio, linux-kernel,
	linux-mediatek, linux-mips, linux-renesas-soc
  Cc: Ray Jui, Scott Branden, Broadcom internal kernel review list,
	Dong Aisheng, Fabio Estevam, Shawn Guo, Jacky Bai,
	Pengutronix Kernel Team, Sascha Hauer, NXP Linux Team, Sean Wang,
	Paul Cercueil, Lakshmi Sowjanya D, Emil Renner Berthing,
	Hal Feng

Convert drivers to use grp member embedded in struct group_desc,
because other members will be removed to avoid duplication and
desynchronisation of the generic pin group description.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/pinctrl/freescale/pinctrl-imx.c | 31 +++++++++++--------------
 1 file changed, 14 insertions(+), 17 deletions(-)

diff --git a/drivers/pinctrl/freescale/pinctrl-imx.c b/drivers/pinctrl/freescale/pinctrl-imx.c
index 28164b04b1be..2d3d80921c0d 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx.c
@@ -42,7 +42,7 @@ static inline const struct group_desc *imx_pinctrl_find_group_by_name(
 
 	for (i = 0; i < pctldev->num_groups; i++) {
 		grp = pinctrl_generic_get_group(pctldev, i);
-		if (grp && !strcmp(grp->name, name))
+		if (grp && !strcmp(grp->grp.name, name))
 			break;
 	}
 
@@ -79,9 +79,9 @@ static int imx_dt_node_to_map(struct pinctrl_dev *pctldev,
 	}
 
 	if (info->flags & IMX_USE_SCU) {
-		map_num += grp->num_pins;
+		map_num += grp->grp.npins;
 	} else {
-		for (i = 0; i < grp->num_pins; i++) {
+		for (i = 0; i < grp->grp.npins; i++) {
 			pin = &((struct imx_pin *)(grp->data))[i];
 			if (!(pin->conf.mmio.config & IMX_NO_PAD_CTL))
 				map_num++;
@@ -109,7 +109,7 @@ static int imx_dt_node_to_map(struct pinctrl_dev *pctldev,
 
 	/* create config map */
 	new_map++;
-	for (i = j = 0; i < grp->num_pins; i++) {
+	for (i = j = 0; i < grp->grp.npins; i++) {
 		pin = &((struct imx_pin *)(grp->data))[i];
 
 		/*
@@ -263,10 +263,10 @@ static int imx_pmx_set(struct pinctrl_dev *pctldev, unsigned selector,
 	if (!func)
 		return -EINVAL;
 
-	npins = grp->num_pins;
+	npins = grp->grp.npins;
 
 	dev_dbg(ipctl->dev, "enable function %s group %s\n",
-		func->name, grp->name);
+		func->name, grp->grp.name);
 
 	for (i = 0; i < npins; i++) {
 		/*
@@ -423,7 +423,7 @@ static void imx_pinconf_group_dbg_show(struct pinctrl_dev *pctldev,
 	if (!grp)
 		return;
 
-	for (i = 0; i < grp->num_pins; i++) {
+	for (i = 0; i < grp->grp.npins; i++) {
 		struct imx_pin *pin = &((struct imx_pin *)(grp->data))[i];
 
 		name = pin_get_name(pctldev, pin->pin);
@@ -526,7 +526,7 @@ static int imx_pinctrl_parse_groups(struct device_node *np,
 		pin_size = FSL_PIN_SIZE;
 
 	/* Initialise group */
-	grp->name = np->name;
+	grp->grp.name = np->name;
 
 	/*
 	 * the binding format is fsl,pins = <PIN_FUNC_ID CONFIG ...>,
@@ -554,19 +554,17 @@ static int imx_pinctrl_parse_groups(struct device_node *np,
 		return -EINVAL;
 	}
 
-	grp->num_pins = size / pin_size;
-	grp->data = devm_kcalloc(ipctl->dev,
-				 grp->num_pins, sizeof(struct imx_pin),
-				 GFP_KERNEL);
+	grp->grp.npins = size / pin_size;
+	grp->data = devm_kcalloc(ipctl->dev, grp->grp.npins, sizeof(*pin), GFP_KERNEL);
 	if (!grp->data)
 		return -ENOMEM;
 
-	pins = devm_kcalloc(ipctl->dev, grp->num_pins, sizeof(*pins), GFP_KERNEL);
+	pins = devm_kcalloc(ipctl->dev, grp->grp.npins, sizeof(*pins), GFP_KERNEL);
 	if (!pins)
 		return -ENOMEM;
-	grp->pins = pins;
+	grp->grp.pins = pins;
 
-	for (i = 0; i < grp->num_pins; i++) {
+	for (i = 0; i < grp->grp.npins; i++) {
 		pin = &((struct imx_pin *)(grp->data))[i];
 		if (info->flags & IMX_USE_SCU)
 			info->imx_pinctrl_parse_pin(ipctl, &pins[i], pin, &list);
@@ -613,8 +611,7 @@ static int imx_pinctrl_parse_functions(struct device_node *np,
 
 	i = 0;
 	for_each_child_of_node(np, child) {
-		grp = devm_kzalloc(ipctl->dev, sizeof(struct group_desc),
-				   GFP_KERNEL);
+		grp = devm_kzalloc(ipctl->dev, sizeof(*grp), GFP_KERNEL);
 		if (!grp) {
 			of_node_put(child);
 			return -ENOMEM;
-- 
2.43.0.rc1.1.gbec44491f096


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

* [PATCH v5 08/13] pinctrl: ingenic: Convert to use grp member
  2023-12-11 18:57 [PATCH v5 00/13] pinctrl: Convert struct group_desc to use struct pingroup Andy Shevchenko
                   ` (6 preceding siblings ...)
  2023-12-11 18:58 ` [PATCH v5 07/13] pinctrl: imx: " Andy Shevchenko
@ 2023-12-11 18:58 ` Andy Shevchenko
  2023-12-11 18:58 ` [PATCH v5 09/13] pinctrl: keembay: " Andy Shevchenko
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 19+ messages in thread
From: Andy Shevchenko @ 2023-12-11 18:58 UTC (permalink / raw)
  To: Linus Walleij, Bartosz Golaszewski, Andy Shevchenko,
	Geert Uytterhoeven, Rasmus Villemoes, Biju Das, Claudiu Beznea,
	Jianlong Huang, linux-arm-kernel, linux-gpio, linux-kernel,
	linux-mediatek, linux-mips, linux-renesas-soc
  Cc: Ray Jui, Scott Branden, Broadcom internal kernel review list,
	Dong Aisheng, Fabio Estevam, Shawn Guo, Jacky Bai,
	Pengutronix Kernel Team, Sascha Hauer, NXP Linux Team, Sean Wang,
	Paul Cercueil, Lakshmi Sowjanya D, Emil Renner Berthing,
	Hal Feng

Convert drivers to use grp member embedded in struct group_desc,
because other members will be removed to avoid duplication and
desynchronisation of the generic pin group description.

Acked-by: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/pinctrl/pinctrl-ingenic.c | 26 +++++++++++---------------
 1 file changed, 11 insertions(+), 15 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-ingenic.c b/drivers/pinctrl/pinctrl-ingenic.c
index f5661dcdedf5..bc6358a686fc 100644
--- a/drivers/pinctrl/pinctrl-ingenic.c
+++ b/drivers/pinctrl/pinctrl-ingenic.c
@@ -84,17 +84,13 @@
 
 #define INGENIC_PIN_GROUP_FUNCS(_name_, id, funcs)					\
 	{										\
-		.name = _name_,								\
-		.pins = id##_pins,							\
-		.num_pins = ARRAY_SIZE(id##_pins),					\
+		.grp = PINCTRL_PINGROUP(_name_, id##_pins, ARRAY_SIZE(id##_pins)),	\
 		.data = funcs,								\
 	}
 
 #define INGENIC_PIN_GROUP(_name_, id, func)						\
 	{										\
-		.name = _name_,								\
-		.pins = id##_pins,							\
-		.num_pins = ARRAY_SIZE(id##_pins),					\
+		.grp = PINCTRL_PINGROUP(_name_, id##_pins, ARRAY_SIZE(id##_pins)),	\
 		.data = (void *)func,							\
 	}
 
@@ -3766,17 +3762,17 @@ static int ingenic_pinmux_set_mux(struct pinctrl_dev *pctldev,
 		return -EINVAL;
 
 	dev_dbg(pctldev->dev, "enable function %s group %s\n",
-		func->name, grp->name);
+		func->name, grp->grp.name);
 
 	mode = (uintptr_t)grp->data;
 	if (mode <= 3) {
-		for (i = 0; i < grp->num_pins; i++)
-			ingenic_pinmux_set_pin_fn(jzpc, grp->pins[i], mode);
+		for (i = 0; i < grp->grp.npins; i++)
+			ingenic_pinmux_set_pin_fn(jzpc, grp->grp.pins[i], mode);
 	} else {
 		pin_modes = grp->data;
 
-		for (i = 0; i < grp->num_pins; i++)
-			ingenic_pinmux_set_pin_fn(jzpc, grp->pins[i], pin_modes[i]);
+		for (i = 0; i < grp->grp.npins; i++)
+			ingenic_pinmux_set_pin_fn(jzpc, grp->grp.pins[i], pin_modes[i]);
 	}
 
 	return 0;
@@ -4303,12 +4299,12 @@ static int __init ingenic_pinctrl_probe(struct platform_device *pdev)
 
 	for (i = 0; i < chip_info->num_groups; i++) {
 		const struct group_desc *group = &chip_info->groups[i];
+		const struct pingroup *grp = &group->grp;
 
-		err = pinctrl_generic_add_group(jzpc->pctl, group->name,
-				group->pins, group->num_pins, group->data);
+		err = pinctrl_generic_add_group(jzpc->pctl, grp->name, grp->pins, grp->npins,
+						group->data);
 		if (err < 0) {
-			dev_err(dev, "Failed to register group %s\n",
-					group->name);
+			dev_err(dev, "Failed to register group %s\n", grp->name);
 			return err;
 		}
 	}
-- 
2.43.0.rc1.1.gbec44491f096


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

* [PATCH v5 09/13] pinctrl: keembay: Convert to use grp member
  2023-12-11 18:57 [PATCH v5 00/13] pinctrl: Convert struct group_desc to use struct pingroup Andy Shevchenko
                   ` (7 preceding siblings ...)
  2023-12-11 18:58 ` [PATCH v5 08/13] pinctrl: ingenic: " Andy Shevchenko
@ 2023-12-11 18:58 ` Andy Shevchenko
  2023-12-11 18:58 ` [PATCH v5 10/13] pinctrl: mediatek: " Andy Shevchenko
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 19+ messages in thread
From: Andy Shevchenko @ 2023-12-11 18:58 UTC (permalink / raw)
  To: Linus Walleij, Bartosz Golaszewski, Andy Shevchenko,
	Geert Uytterhoeven, Rasmus Villemoes, Biju Das, Claudiu Beznea,
	Jianlong Huang, linux-arm-kernel, linux-gpio, linux-kernel,
	linux-mediatek, linux-mips, linux-renesas-soc
  Cc: Ray Jui, Scott Branden, Broadcom internal kernel review list,
	Dong Aisheng, Fabio Estevam, Shawn Guo, Jacky Bai,
	Pengutronix Kernel Team, Sascha Hauer, NXP Linux Team, Sean Wang,
	Paul Cercueil, Lakshmi Sowjanya D, Emil Renner Berthing,
	Hal Feng

Convert drivers to use grp member embedded in struct group_desc,
because other members will be removed to avoid duplication and
desynchronisation of the generic pin group description.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/pinctrl/pinctrl-keembay.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pinctrl/pinctrl-keembay.c b/drivers/pinctrl/pinctrl-keembay.c
index 87d328853ae4..b1349ee22799 100644
--- a/drivers/pinctrl/pinctrl-keembay.c
+++ b/drivers/pinctrl/pinctrl-keembay.c
@@ -945,7 +945,7 @@ static int keembay_set_mux(struct pinctrl_dev *pctldev, unsigned int fun_sel,
 		return -EINVAL;
 
 	/* Change modes for pins in the selected group */
-	pin = *grp->pins;
+	pin = *grp->grp.pins;
 	pin_mode = *(u8 *)(func->data);
 
 	val = keembay_read_reg(kpc->base1 + KEEMBAY_GPIO_MODE, pin);
-- 
2.43.0.rc1.1.gbec44491f096


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

* [PATCH v5 10/13] pinctrl: mediatek: Convert to use grp member
  2023-12-11 18:57 [PATCH v5 00/13] pinctrl: Convert struct group_desc to use struct pingroup Andy Shevchenko
                   ` (8 preceding siblings ...)
  2023-12-11 18:58 ` [PATCH v5 09/13] pinctrl: keembay: " Andy Shevchenko
@ 2023-12-11 18:58 ` Andy Shevchenko
  2023-12-11 18:58 ` [PATCH v5 11/13] pinctrl: renesas: " Andy Shevchenko
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 19+ messages in thread
From: Andy Shevchenko @ 2023-12-11 18:58 UTC (permalink / raw)
  To: Linus Walleij, Bartosz Golaszewski, Andy Shevchenko,
	Geert Uytterhoeven, Rasmus Villemoes, Biju Das, Claudiu Beznea,
	Jianlong Huang, linux-arm-kernel, linux-gpio, linux-kernel,
	linux-mediatek, linux-mips, linux-renesas-soc
  Cc: Ray Jui, Scott Branden, Broadcom internal kernel review list,
	Dong Aisheng, Fabio Estevam, Shawn Guo, Jacky Bai,
	Pengutronix Kernel Team, Sascha Hauer, NXP Linux Team, Sean Wang,
	Paul Cercueil, Lakshmi Sowjanya D, Emil Renner Berthing,
	Hal Feng

Convert drivers to use grp member embedded in struct group_desc,
because other members will be removed to avoid duplication and
desynchronisation of the generic pin group description.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/pinctrl/mediatek/pinctrl-moore.c | 13 ++++++-------
 drivers/pinctrl/mediatek/pinctrl-moore.h |  4 +---
 drivers/pinctrl/mediatek/pinctrl-paris.h |  4 +---
 3 files changed, 8 insertions(+), 13 deletions(-)

diff --git a/drivers/pinctrl/mediatek/pinctrl-moore.c b/drivers/pinctrl/mediatek/pinctrl-moore.c
index c3d59eddd994..d972584c0519 100644
--- a/drivers/pinctrl/mediatek/pinctrl-moore.c
+++ b/drivers/pinctrl/mediatek/pinctrl-moore.c
@@ -56,12 +56,12 @@ static int mtk_pinmux_set_mux(struct pinctrl_dev *pctldev,
 		return -EINVAL;
 
 	dev_dbg(pctldev->dev, "enable function %s group %s\n",
-		func->name, grp->name);
+		func->name, grp->grp.name);
 
-	for (i = 0; i < grp->num_pins; i++) {
+	for (i = 0; i < grp->grp.npins; i++) {
 		const struct mtk_pin_desc *desc;
 		int *pin_modes = grp->data;
-		int pin = grp->pins[i];
+		int pin = grp->grp.pins[i];
 
 		desc = (const struct mtk_pin_desc *)&hw->soc->pins[pin];
 		if (!desc->name)
@@ -602,13 +602,12 @@ static int mtk_build_groups(struct mtk_pinctrl *hw)
 
 	for (i = 0; i < hw->soc->ngrps; i++) {
 		const struct group_desc *group = hw->soc->grps + i;
+		const struct pingroup *grp = &group->grp;
 
-		err = pinctrl_generic_add_group(hw->pctrl, group->name,
-						group->pins, group->num_pins,
+		err = pinctrl_generic_add_group(hw->pctrl, grp->name, grp->pins, grp->npins,
 						group->data);
 		if (err < 0) {
-			dev_err(hw->dev, "Failed to register group %s\n",
-				group->name);
+			dev_err(hw->dev, "Failed to register group %s\n", grp->name);
 			return err;
 		}
 	}
diff --git a/drivers/pinctrl/mediatek/pinctrl-moore.h b/drivers/pinctrl/mediatek/pinctrl-moore.h
index 36ee0021cf7e..e0313e7a1fe0 100644
--- a/drivers/pinctrl/mediatek/pinctrl-moore.h
+++ b/drivers/pinctrl/mediatek/pinctrl-moore.h
@@ -39,9 +39,7 @@
 
 #define PINCTRL_PIN_GROUP(_name_, id)							\
 	{										\
-		.name = _name_,								\
-		.pins = id##_pins,							\
-		.num_pins = ARRAY_SIZE(id##_pins),					\
+		.grp = PINCTRL_PINGROUP(_name_, id##_pins, ARRAY_SIZE(id##_pins)),	\
 		.data = id##_funcs,							\
 	}
 
diff --git a/drivers/pinctrl/mediatek/pinctrl-paris.h b/drivers/pinctrl/mediatek/pinctrl-paris.h
index 5c4e5b74e43e..948ce126aa0c 100644
--- a/drivers/pinctrl/mediatek/pinctrl-paris.h
+++ b/drivers/pinctrl/mediatek/pinctrl-paris.h
@@ -51,9 +51,7 @@
 
 #define PINCTRL_PIN_GROUP(_name_, id)							\
 	{										\
-		.name = _name_,								\
-		.pins = id##_pins,							\
-		.num_pins = ARRAY_SIZE(id##_pins),					\
+		.grp = PINCTRL_PINGROUP(_name_,id##_pins, ARRAY_SIZE(id##_pins)),	\
 		.data = id##_funcs,							\
 	}
 
-- 
2.43.0.rc1.1.gbec44491f096


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

* [PATCH v5 11/13] pinctrl: renesas: Convert to use grp member
  2023-12-11 18:57 [PATCH v5 00/13] pinctrl: Convert struct group_desc to use struct pingroup Andy Shevchenko
                   ` (9 preceding siblings ...)
  2023-12-11 18:58 ` [PATCH v5 10/13] pinctrl: mediatek: " Andy Shevchenko
@ 2023-12-11 18:58 ` Andy Shevchenko
  2023-12-11 18:58 ` [PATCH v5 12/13] pinctrl: starfive: " Andy Shevchenko
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 19+ messages in thread
From: Andy Shevchenko @ 2023-12-11 18:58 UTC (permalink / raw)
  To: Linus Walleij, Bartosz Golaszewski, Andy Shevchenko,
	Geert Uytterhoeven, Rasmus Villemoes, Biju Das, Claudiu Beznea,
	Jianlong Huang, linux-arm-kernel, linux-gpio, linux-kernel,
	linux-mediatek, linux-mips, linux-renesas-soc
  Cc: Ray Jui, Scott Branden, Broadcom internal kernel review list,
	Dong Aisheng, Fabio Estevam, Shawn Guo, Jacky Bai,
	Pengutronix Kernel Team, Sascha Hauer, NXP Linux Team, Sean Wang,
	Paul Cercueil, Lakshmi Sowjanya D, Emil Renner Berthing,
	Hal Feng

Convert drivers to use grp member embedded in struct group_desc,
because other members will be removed to avoid duplication and
desynchronisation of the generic pin group description.

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/pinctrl/renesas/pinctrl-rza1.c  |  2 +-
 drivers/pinctrl/renesas/pinctrl-rza2.c  | 10 +++++-----
 drivers/pinctrl/renesas/pinctrl-rzg2l.c |  4 ++--
 drivers/pinctrl/renesas/pinctrl-rzv2m.c |  4 ++--
 4 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/drivers/pinctrl/renesas/pinctrl-rza1.c b/drivers/pinctrl/renesas/pinctrl-rza1.c
index ab334de89b69..b03f22c54ca8 100644
--- a/drivers/pinctrl/renesas/pinctrl-rza1.c
+++ b/drivers/pinctrl/renesas/pinctrl-rza1.c
@@ -1131,7 +1131,7 @@ static int rza1_set_mux(struct pinctrl_dev *pctldev, unsigned int selector,
 		return -EINVAL;
 
 	mux_confs = (struct rza1_mux_conf *)func->data;
-	for (i = 0; i < grp->num_pins; ++i) {
+	for (i = 0; i < grp->grp.npins; ++i) {
 		int ret;
 
 		ret = rza1_pin_mux_single(rza1_pctl, &mux_confs[i]);
diff --git a/drivers/pinctrl/renesas/pinctrl-rza2.c b/drivers/pinctrl/renesas/pinctrl-rza2.c
index 990b96d45967..af689d7c117f 100644
--- a/drivers/pinctrl/renesas/pinctrl-rza2.c
+++ b/drivers/pinctrl/renesas/pinctrl-rza2.c
@@ -447,15 +447,15 @@ static int rza2_set_mux(struct pinctrl_dev *pctldev, unsigned int selector,
 
 	psel_val = func->data;
 
-	for (i = 0; i < grp->num_pins; ++i) {
+	for (i = 0; i < grp->grp.npins; ++i) {
 		dev_dbg(priv->dev, "Setting P%c_%d to PSEL=%d\n",
-			port_names[RZA2_PIN_ID_TO_PORT(grp->pins[i])],
-			RZA2_PIN_ID_TO_PIN(grp->pins[i]),
+			port_names[RZA2_PIN_ID_TO_PORT(grp->grp.pins[i])],
+			RZA2_PIN_ID_TO_PIN(grp->grp.pins[i]),
 			psel_val[i]);
 		rza2_set_pin_function(
 			priv->base,
-			RZA2_PIN_ID_TO_PORT(grp->pins[i]),
-			RZA2_PIN_ID_TO_PIN(grp->pins[i]),
+			RZA2_PIN_ID_TO_PORT(grp->grp.pins[i]),
+			RZA2_PIN_ID_TO_PIN(grp->grp.pins[i]),
 			psel_val[i]);
 	}
 
diff --git a/drivers/pinctrl/renesas/pinctrl-rzg2l.c b/drivers/pinctrl/renesas/pinctrl-rzg2l.c
index 68fcc2a4efbc..f01aa51b00c4 100644
--- a/drivers/pinctrl/renesas/pinctrl-rzg2l.c
+++ b/drivers/pinctrl/renesas/pinctrl-rzg2l.c
@@ -283,9 +283,9 @@ static int rzg2l_pinctrl_set_mux(struct pinctrl_dev *pctldev,
 		return -EINVAL;
 
 	psel_val = func->data;
-	pins = group->pins;
+	pins = group->grp.pins;
 
-	for (i = 0; i < group->num_pins; i++) {
+	for (i = 0; i < group->grp.npins; i++) {
 		unsigned int *pin_data = pctrl->desc.pins[pins[i]].drv_data;
 		u32 off = RZG2L_PIN_CFG_TO_PORT_OFFSET(*pin_data);
 		u32 pin = RZG2L_PIN_ID_TO_PIN(pins[i]);
diff --git a/drivers/pinctrl/renesas/pinctrl-rzv2m.c b/drivers/pinctrl/renesas/pinctrl-rzv2m.c
index eb304fab1796..0767a5ac23e0 100644
--- a/drivers/pinctrl/renesas/pinctrl-rzv2m.c
+++ b/drivers/pinctrl/renesas/pinctrl-rzv2m.c
@@ -175,9 +175,9 @@ static int rzv2m_pinctrl_set_mux(struct pinctrl_dev *pctldev,
 		return -EINVAL;
 
 	psel_val = func->data;
-	pins = group->pins;
+	pins = group->grp.pins;
 
-	for (i = 0; i < group->num_pins; i++) {
+	for (i = 0; i < group->grp.npins; i++) {
 		dev_dbg(pctrl->dev, "port:%u pin: %u PSEL:%u\n",
 			RZV2M_PIN_ID_TO_PORT(pins[i]), RZV2M_PIN_ID_TO_PIN(pins[i]),
 			psel_val[i]);
-- 
2.43.0.rc1.1.gbec44491f096


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

* [PATCH v5 12/13] pinctrl: starfive: Convert to use grp member
  2023-12-11 18:57 [PATCH v5 00/13] pinctrl: Convert struct group_desc to use struct pingroup Andy Shevchenko
                   ` (10 preceding siblings ...)
  2023-12-11 18:58 ` [PATCH v5 11/13] pinctrl: renesas: " Andy Shevchenko
@ 2023-12-11 18:58 ` Andy Shevchenko
  2023-12-11 18:58 ` [PATCH v5 13/13] pinctrl: core: Remove unused members from struct group_desc Andy Shevchenko
  2023-12-11 23:48 ` [PATCH v5 00/13] pinctrl: Convert struct group_desc to use struct pingroup Linus Walleij
  13 siblings, 0 replies; 19+ messages in thread
From: Andy Shevchenko @ 2023-12-11 18:58 UTC (permalink / raw)
  To: Linus Walleij, Bartosz Golaszewski, Andy Shevchenko,
	Geert Uytterhoeven, Rasmus Villemoes, Biju Das, Claudiu Beznea,
	Jianlong Huang, linux-arm-kernel, linux-gpio, linux-kernel,
	linux-mediatek, linux-mips, linux-renesas-soc
  Cc: Ray Jui, Scott Branden, Broadcom internal kernel review list,
	Dong Aisheng, Fabio Estevam, Shawn Guo, Jacky Bai,
	Pengutronix Kernel Team, Sascha Hauer, NXP Linux Team, Sean Wang,
	Paul Cercueil, Lakshmi Sowjanya D, Emil Renner Berthing,
	Hal Feng, Emil Renner Berthing

Convert drivers to use grp member embedded in struct group_desc,
because other members will be removed to avoid duplication and
desynchronisation of the generic pin group description.

Reviewed-by: Emil Renner Berthing <emil.renner.berthing@canonical.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/pinctrl/starfive/pinctrl-starfive-jh7100.c | 8 ++++----
 drivers/pinctrl/starfive/pinctrl-starfive-jh7110.c | 8 ++++----
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/pinctrl/starfive/pinctrl-starfive-jh7100.c b/drivers/pinctrl/starfive/pinctrl-starfive-jh7100.c
index b29b0ab9892b..6df7a310c7ed 100644
--- a/drivers/pinctrl/starfive/pinctrl-starfive-jh7100.c
+++ b/drivers/pinctrl/starfive/pinctrl-starfive-jh7100.c
@@ -654,7 +654,7 @@ static int starfive_set_mux(struct pinctrl_dev *pctldev,
 		return -EINVAL;
 
 	pinmux = group->data;
-	for (i = 0; i < group->num_pins; i++) {
+	for (i = 0; i < group->grp.npins; i++) {
 		u32 v = pinmux[i];
 		unsigned int gpio = starfive_pinmux_to_gpio(v);
 		u32 dout = starfive_pinmux_to_dout(v);
@@ -797,7 +797,7 @@ static int starfive_pinconf_group_get(struct pinctrl_dev *pctldev,
 	if (!group)
 		return -EINVAL;
 
-	return starfive_pinconf_get(pctldev, group->pins[0], config);
+	return starfive_pinconf_get(pctldev, group->grp.pins[0], config);
 }
 
 static int starfive_pinconf_group_set(struct pinctrl_dev *pctldev,
@@ -876,8 +876,8 @@ static int starfive_pinconf_group_set(struct pinctrl_dev *pctldev,
 		}
 	}
 
-	for (i = 0; i < group->num_pins; i++)
-		starfive_padctl_rmw(sfp, group->pins[i], mask, value);
+	for (i = 0; i < group->grp.npins; i++)
+		starfive_padctl_rmw(sfp, group->grp.pins[i], mask, value);
 
 	return 0;
 }
diff --git a/drivers/pinctrl/starfive/pinctrl-starfive-jh7110.c b/drivers/pinctrl/starfive/pinctrl-starfive-jh7110.c
index 6de11a405734..9609eb1ecc3d 100644
--- a/drivers/pinctrl/starfive/pinctrl-starfive-jh7110.c
+++ b/drivers/pinctrl/starfive/pinctrl-starfive-jh7110.c
@@ -307,7 +307,7 @@ static int jh7110_set_mux(struct pinctrl_dev *pctldev,
 		return -EINVAL;
 
 	pinmux = group->data;
-	for (i = 0; i < group->num_pins; i++) {
+	for (i = 0; i < group->grp.npins; i++) {
 		u32 v = pinmux[i];
 
 		if (info->jh7110_set_one_pin_mux)
@@ -437,7 +437,7 @@ static int jh7110_pinconf_group_get(struct pinctrl_dev *pctldev,
 	if (!group)
 		return -EINVAL;
 
-	return jh7110_pinconf_get(pctldev, group->pins[0], config);
+	return jh7110_pinconf_get(pctldev, group->grp.pins[0], config);
 }
 
 static int jh7110_pinconf_group_set(struct pinctrl_dev *pctldev,
@@ -508,8 +508,8 @@ static int jh7110_pinconf_group_set(struct pinctrl_dev *pctldev,
 		}
 	}
 
-	for (i = 0; i < group->num_pins; i++)
-		jh7110_padcfg_rmw(sfp, group->pins[i], mask, value);
+	for (i = 0; i < group->grp.npins; i++)
+		jh7110_padcfg_rmw(sfp, group->grp.pins[i], mask, value);
 
 	return 0;
 }
-- 
2.43.0.rc1.1.gbec44491f096


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

* [PATCH v5 13/13] pinctrl: core: Remove unused members from struct group_desc
  2023-12-11 18:57 [PATCH v5 00/13] pinctrl: Convert struct group_desc to use struct pingroup Andy Shevchenko
                   ` (11 preceding siblings ...)
  2023-12-11 18:58 ` [PATCH v5 12/13] pinctrl: starfive: " Andy Shevchenko
@ 2023-12-11 18:58 ` Andy Shevchenko
  2023-12-11 23:48 ` [PATCH v5 00/13] pinctrl: Convert struct group_desc to use struct pingroup Linus Walleij
  13 siblings, 0 replies; 19+ messages in thread
From: Andy Shevchenko @ 2023-12-11 18:58 UTC (permalink / raw)
  To: Linus Walleij, Bartosz Golaszewski, Andy Shevchenko,
	Geert Uytterhoeven, Rasmus Villemoes, Biju Das, Claudiu Beznea,
	Jianlong Huang, linux-arm-kernel, linux-gpio, linux-kernel,
	linux-mediatek, linux-mips, linux-renesas-soc
  Cc: Ray Jui, Scott Branden, Broadcom internal kernel review list,
	Dong Aisheng, Fabio Estevam, Shawn Guo, Jacky Bai,
	Pengutronix Kernel Team, Sascha Hauer, NXP Linux Team, Sean Wang,
	Paul Cercueil, Lakshmi Sowjanya D, Emil Renner Berthing,
	Hal Feng

All drivers are converted to use embedded struct pingroup.
Remove unused members from struct group_desc.

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/pinctrl/core.c | 9 ---------
 drivers/pinctrl/core.h | 9 ---------
 2 files changed, 18 deletions(-)

diff --git a/drivers/pinctrl/core.c b/drivers/pinctrl/core.c
index 48cc5571dea6..ee56856cb80c 100644
--- a/drivers/pinctrl/core.c
+++ b/drivers/pinctrl/core.c
@@ -557,9 +557,6 @@ const char *pinctrl_generic_get_group_name(struct pinctrl_dev *pctldev,
 	if (!group)
 		return NULL;
 
-	if (group->name)
-		return group->name;
-
 	return group->grp.name;
 }
 EXPORT_SYMBOL_GPL(pinctrl_generic_get_group_name);
@@ -586,12 +583,6 @@ int pinctrl_generic_get_group_pins(struct pinctrl_dev *pctldev,
 		return -EINVAL;
 	}
 
-	if (group->pins) {
-		*pins = group->pins;
-		*num_pins = group->num_pins;
-		return 0;
-	}
-
 	*pins = group->grp.pins;
 	*num_pins = group->grp.npins;
 
diff --git a/drivers/pinctrl/core.h b/drivers/pinctrl/core.h
index a3b75ec7b54b..837fd5bd903d 100644
--- a/drivers/pinctrl/core.h
+++ b/drivers/pinctrl/core.h
@@ -199,16 +199,10 @@ struct pinctrl_maps {
 /**
  * struct group_desc - generic pin group descriptor
  * @grp: generic data of the pin group (name and pins)
- * @name: name of the pin group
- * @pins: array of pins that belong to the group
- * @num_pins: number of pins in the group
  * @data: pin controller driver specific data
  */
 struct group_desc {
 	struct pingroup grp;
-	const char *name;
-	const unsigned int *pins;
-	int num_pins;
 	void *data;
 };
 
@@ -216,9 +210,6 @@ struct group_desc {
 #define PINCTRL_GROUP_DESC(_name, _pins, _num_pins, _data)	\
 (struct group_desc) {						\
 	.grp = PINCTRL_PINGROUP(_name, _pins, _num_pins),	\
-	.name = _name,						\
-	.pins = _pins,						\
-	.num_pins = _num_pins,					\
 	.data = _data,						\
 }
 
-- 
2.43.0.rc1.1.gbec44491f096


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

* Re: [PATCH v5 00/13] pinctrl: Convert struct group_desc to use struct pingroup
  2023-12-11 18:57 [PATCH v5 00/13] pinctrl: Convert struct group_desc to use struct pingroup Andy Shevchenko
                   ` (12 preceding siblings ...)
  2023-12-11 18:58 ` [PATCH v5 13/13] pinctrl: core: Remove unused members from struct group_desc Andy Shevchenko
@ 2023-12-11 23:48 ` Linus Walleij
  13 siblings, 0 replies; 19+ messages in thread
From: Linus Walleij @ 2023-12-11 23:48 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: Bartosz Golaszewski, Geert Uytterhoeven, Rasmus Villemoes,
	Biju Das, Claudiu Beznea, Jianlong Huang, linux-arm-kernel,
	linux-gpio, linux-kernel, linux-mediatek, linux-mips,
	linux-renesas-soc, Ray Jui, Scott Branden,
	Broadcom internal kernel review list, Dong Aisheng,
	Fabio Estevam, Shawn Guo, Jacky Bai, Pengutronix Kernel Team,
	Sascha Hauer, NXP Linux Team, Sean Wang, Paul Cercueil,
	Lakshmi Sowjanya D, Emil Renner Berthing, Hal Feng

On Mon, Dec 11, 2023 at 8:03 PM Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:

> The struct group_desc has a lot of duplication with struct pingroup.
> Deduplicate that by embeddind the latter in the former and convert
> users.
>
> NB. The function_desc is in plan to follow the similar deduplication.
>
> This time test-compiled with old GCC 8 for arm64, besides GCC 13 and
> LLVM 16 for x86_64.

Applied to my pin control devel branch for v6.8.

Yours,
Linus Walleij

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

* Re: [PATCH v5 03/13] pinctrl: ingenic: Use C99 initializers in PINCTRL_PIN_GROUP()
  2023-12-11 18:57 ` [PATCH v5 03/13] pinctrl: ingenic: " Andy Shevchenko
@ 2023-12-13  9:55   ` Paul Cercueil
  2023-12-13 13:21     ` Andy Shevchenko
  0 siblings, 1 reply; 19+ messages in thread
From: Paul Cercueil @ 2023-12-13  9:55 UTC (permalink / raw)
  To: Andy Shevchenko, Linus Walleij, Bartosz Golaszewski,
	Geert Uytterhoeven, Rasmus Villemoes, Biju Das, Claudiu Beznea,
	Jianlong Huang, linux-arm-kernel, linux-gpio, linux-kernel,
	linux-mediatek, linux-mips, linux-renesas-soc
  Cc: Ray Jui, Scott Branden, Broadcom internal kernel review list,
	Dong Aisheng, Fabio Estevam, Shawn Guo, Jacky Bai,
	Pengutronix Kernel Team, Sascha Hauer, NXP Linux Team, Sean Wang,
	Lakshmi Sowjanya D, Emil Renner Berthing, Hal Feng

Hi Andy,

Le lundi 11 décembre 2023 à 20:57 +0200, Andy Shevchenko a écrit :
> For the better flexibility use C99 initializers in
> PINCTRL_PIN_GROUP().
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
>  drivers/pinctrl/pinctrl-ingenic.c | 21 +++++++++++++--------
>  1 file changed, 13 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/pinctrl/pinctrl-ingenic.c
> b/drivers/pinctrl/pinctrl-ingenic.c
> index ee718f6e2556..f5661dcdedf5 100644
> --- a/drivers/pinctrl/pinctrl-ingenic.c
> +++ b/drivers/pinctrl/pinctrl-ingenic.c
> @@ -82,16 +82,21 @@
>  #define PINS_PER_GPIO_CHIP			32
>  #define JZ4730_PINS_PER_PAIRED_REG	16
>  
> -#define INGENIC_PIN_GROUP_FUNCS(name, id, funcs)		\
> -	{						\
> -		name,					\
> -		id##_pins,				\
> -		ARRAY_SIZE(id##_pins),			\
> -		funcs,					\
> +#define INGENIC_PIN_GROUP_FUNCS(_name_, id,
> funcs)					\
> +	{							
> 			\
> +		.name =
> _name_,								\
> +		.pins =
> id##_pins,							\
> +		.num_pins =
> ARRAY_SIZE(id##_pins),					\
> +		.data =
> funcs,								\
>  	}
>  
> -#define INGENIC_PIN_GROUP(name, id, func)		\
> -	INGENIC_PIN_GROUP_FUNCS(name, id, (void *)(func))
> +#define INGENIC_PIN_GROUP(_name_, id,
> func)						\
> +	{							
> 			\
> +		.name =
> _name_,								\
> +		.pins =
> id##_pins,							\
> +		.num_pins =
> ARRAY_SIZE(id##_pins),					\
> +		.data = (void
> *)func,							\
> +	}

This INGENIC_PIN_GROUP() macro doesn't need to be modified, does it?

Cheers,
-Paul

>  
>  enum jz_version {
>  	ID_JZ4730,


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

* Re: [PATCH v5 03/13] pinctrl: ingenic: Use C99 initializers in PINCTRL_PIN_GROUP()
  2023-12-13  9:55   ` Paul Cercueil
@ 2023-12-13 13:21     ` Andy Shevchenko
  2023-12-17 14:43       ` Paul Cercueil
  0 siblings, 1 reply; 19+ messages in thread
From: Andy Shevchenko @ 2023-12-13 13:21 UTC (permalink / raw)
  To: Paul Cercueil
  Cc: Linus Walleij, Bartosz Golaszewski, Geert Uytterhoeven,
	Rasmus Villemoes, Biju Das, Claudiu Beznea, Jianlong Huang,
	linux-arm-kernel, linux-gpio, linux-kernel, linux-mediatek,
	linux-mips, linux-renesas-soc, Ray Jui, Scott Branden,
	Broadcom internal kernel review list, Dong Aisheng,
	Fabio Estevam, Shawn Guo, Jacky Bai, Pengutronix Kernel Team,
	Sascha Hauer, NXP Linux Team, Sean Wang, Lakshmi Sowjanya D,
	Emil Renner Berthing, Hal Feng

On Wed, Dec 13, 2023 at 10:55:46AM +0100, Paul Cercueil wrote:
> Le lundi 11 décembre 2023 à 20:57 +0200, Andy Shevchenko a écrit :

...

> > -#define INGENIC_PIN_GROUP(name, id, func)		\
> > -	INGENIC_PIN_GROUP_FUNCS(name, id, (void *)(func))
> > +#define INGENIC_PIN_GROUP(_name_, id,
> > func)						\
> > +	{							
> > 			\
> > +		.name =
> > _name_,								\
> > +		.pins =
> > id##_pins,							\
> > +		.num_pins =
> > ARRAY_SIZE(id##_pins),					\
> > +		.data = (void
> > *)func,							\
> > +	}
> 
> This INGENIC_PIN_GROUP() macro doesn't need to be modified, does it?

We can go either way. I prefer to go this way as it reduces level of
indirections in the macros. It makes code easier to read and understand.
But if you insist, I can drop that change in next version.

-- 
With Best Regards,
Andy Shevchenko



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

* Re: [PATCH v5 03/13] pinctrl: ingenic: Use C99 initializers in PINCTRL_PIN_GROUP()
  2023-12-13 13:21     ` Andy Shevchenko
@ 2023-12-17 14:43       ` Paul Cercueil
       [not found]         ` <ZYAhyWxh5sEyK1RC@smile.fi.intel.com>
  0 siblings, 1 reply; 19+ messages in thread
From: Paul Cercueil @ 2023-12-17 14:43 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: Linus Walleij, Bartosz Golaszewski, Geert Uytterhoeven,
	Rasmus Villemoes, Biju Das, Claudiu Beznea, Jianlong Huang,
	linux-arm-kernel, linux-gpio, linux-kernel, linux-mediatek,
	linux-mips, linux-renesas-soc, Ray Jui, Scott Branden,
	Broadcom internal kernel review list, Dong Aisheng,
	Fabio Estevam, Shawn Guo, Jacky Bai, Pengutronix Kernel Team,
	Sascha Hauer, NXP Linux Team, Sean Wang, Lakshmi Sowjanya D,
	Emil Renner Berthing, Hal Feng

Hi Andy,

Le mercredi 13 décembre 2023 à 15:21 +0200, Andy Shevchenko a écrit :
> On Wed, Dec 13, 2023 at 10:55:46AM +0100, Paul Cercueil wrote:
> > Le lundi 11 décembre 2023 à 20:57 +0200, Andy Shevchenko a écrit :
> 
> ...
> 
> > > -#define INGENIC_PIN_GROUP(name, id, func)		\
> > > -	INGENIC_PIN_GROUP_FUNCS(name, id, (void *)(func))
> > > +#define INGENIC_PIN_GROUP(_name_, id,
> > > func)						\
> > > +	{							
> > > 			\
> > > +		.name =
> > > _name_,								\
> > > +		.pins =
> > > id##_pins,							\
> > > +		.num_pins =
> > > ARRAY_SIZE(id##_pins),					\
> > > +		.data = (void
> > > *)func,							\
> > > +	}
> > 
> > This INGENIC_PIN_GROUP() macro doesn't need to be modified, does
> > it?
> 
> We can go either way. I prefer to go this way as it reduces level of
> indirections in the macros. It makes code easier to read and
> understand.
> But if you insist, I can drop that change in next version.
> 

I like the patches to be minimal. But I understand your point of view
as well.

If you have to issue a v6, maybe state the reason why you also modify
INGENIC_PIN_GROUP() then. But I don't care enough to request a v6 just
for that.

So:
Acked-by: Paul Cercueil <paul@crapouillou.net>

Cheers,
-Paul

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

* Re: [PATCH v5 03/13] pinctrl: ingenic: Use C99 initializers in PINCTRL_PIN_GROUP()
       [not found]         ` <ZYAhyWxh5sEyK1RC@smile.fi.intel.com>
@ 2023-12-18 11:43           ` Paul Cercueil
  0 siblings, 0 replies; 19+ messages in thread
From: Paul Cercueil @ 2023-12-18 11:43 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: Linus Walleij, Bartosz Golaszewski, Geert Uytterhoeven,
	Rasmus Villemoes, Biju Das, Claudiu Beznea, Jianlong Huang,
	linux-arm-kernel, linux-gpio, linux-kernel, linux-mediatek,
	linux-mips, linux-renesas-soc, Ray Jui, Scott Branden,
	Broadcom internal kernel review list, Dong Aisheng,
	Fabio Estevam, Shawn Guo, Jacky Bai, Pengutronix Kernel Team,
	Sascha Hauer, NXP Linux Team, Sean Wang, Lakshmi Sowjanya D,
	Emil Renner Berthing, Hal Feng

Hi Andy,

Le lundi 18 décembre 2023 à 12:41 +0200, Andy Shevchenko a écrit :
> On Sun, Dec 17, 2023 at 03:43:24PM +0100, Paul Cercueil wrote:
> > Le mercredi 13 décembre 2023 à 15:21 +0200, Andy Shevchenko a
> > écrit :
> > > On Wed, Dec 13, 2023 at 10:55:46AM +0100, Paul Cercueil wrote:
> > > > Le lundi 11 décembre 2023 à 20:57 +0200, Andy Shevchenko a
> > > > écrit :
> 
> ...
> 
> > > > > -#define INGENIC_PIN_GROUP(name, id, func)		\
> > > > > -	INGENIC_PIN_GROUP_FUNCS(name, id, (void *)(func))
> > > > > +#define INGENIC_PIN_GROUP(_name_, id,
> > > > > func)						\
> > > > > +	{						
> > > > > 	
> > > > > 			\
> > > > > +		.name =
> > > > > _name_,							
> > > > > 	\
> > > > > +		.pins =
> > > > > id##_pins,						
> > > > > 	\
> > > > > +		.num_pins =
> > > > > ARRAY_SIZE(id##_pins),					\
> > > > > +		.data = (void
> > > > > *)func,							\
> > > > > +	}
> > > > 
> > > > This INGENIC_PIN_GROUP() macro doesn't need to be modified,
> > > > does
> > > > it?
> > > 
> > > We can go either way. I prefer to go this way as it reduces level
> > > of
> > > indirections in the macros. It makes code easier to read and
> > > understand.
> > > But if you insist, I can drop that change in next version.
> > 
> > I like the patches to be minimal. But I understand your point of
> > view
> > as well.
> > 
> > If you have to issue a v6, maybe state the reason why you also
> > modify
> > INGENIC_PIN_GROUP() then. But I don't care enough to request a v6
> > just
> > for that.
> > 
> > So:
> > Acked-by: Paul Cercueil <paul@crapouillou.net>
> 
> Thank you!
> 
> But as I already noted, the series had been applied (by Linus W.)
> and this does not seem to be a critical to fix, do you agree?
> 

Well I only suggested to change the commit message - so no, it is not
critical to fix.

Cheers,
-Paul

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

end of thread, other threads:[~2023-12-18 11:43 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-11 18:57 [PATCH v5 00/13] pinctrl: Convert struct group_desc to use struct pingroup Andy Shevchenko
2023-12-11 18:57 ` [PATCH v5 01/13] pinctrl: core: Add a convenient define PINCTRL_GROUP_DESC() Andy Shevchenko
2023-12-11 18:57 ` [PATCH v5 02/13] pinctrl: mediatek: Use C99 initializers in PINCTRL_PIN_GROUP() Andy Shevchenko
2023-12-11 18:57 ` [PATCH v5 03/13] pinctrl: ingenic: " Andy Shevchenko
2023-12-13  9:55   ` Paul Cercueil
2023-12-13 13:21     ` Andy Shevchenko
2023-12-17 14:43       ` Paul Cercueil
     [not found]         ` <ZYAhyWxh5sEyK1RC@smile.fi.intel.com>
2023-12-18 11:43           ` Paul Cercueil
2023-12-11 18:57 ` [PATCH v5 04/13] pinctrl: core: Embed struct pingroup into struct group_desc Andy Shevchenko
2023-12-11 18:57 ` [PATCH v5 05/13] pinctrl: bcm: Convert to use grp member Andy Shevchenko
2023-12-11 18:57 ` [PATCH v5 06/13] pinctrl: equilibrium: " Andy Shevchenko
2023-12-11 18:58 ` [PATCH v5 07/13] pinctrl: imx: " Andy Shevchenko
2023-12-11 18:58 ` [PATCH v5 08/13] pinctrl: ingenic: " Andy Shevchenko
2023-12-11 18:58 ` [PATCH v5 09/13] pinctrl: keembay: " Andy Shevchenko
2023-12-11 18:58 ` [PATCH v5 10/13] pinctrl: mediatek: " Andy Shevchenko
2023-12-11 18:58 ` [PATCH v5 11/13] pinctrl: renesas: " Andy Shevchenko
2023-12-11 18:58 ` [PATCH v5 12/13] pinctrl: starfive: " Andy Shevchenko
2023-12-11 18:58 ` [PATCH v5 13/13] pinctrl: core: Remove unused members from struct group_desc Andy Shevchenko
2023-12-11 23:48 ` [PATCH v5 00/13] pinctrl: Convert struct group_desc to use struct pingroup Linus Walleij

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).