diff mbox series

[v1,1/7] pinctrl: intel: Embed struct pingroup into struct intel_pingroup

Message ID 20220620114439.31491-1-andriy.shevchenko@linux.intel.com
State Accepted
Commit 277b95a9338351e30141d68698ea730bf28cf839
Headers show
Series [v1,1/7] pinctrl: intel: Embed struct pingroup into struct intel_pingroup | expand

Commit Message

Andy Shevchenko June 20, 2022, 11:44 a.m. UTC
Add a new member to the struct intel_pingroup to cover generic
pin control group parameters. The idea is to convert all users
(one-by-one) to it and drop old members later on.

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

Comments

Mika Westerberg June 20, 2022, 1:01 p.m. UTC | #1
On Mon, Jun 20, 2022 at 02:44:33PM +0300, Andy Shevchenko wrote:
> Add a new member to the struct intel_pingroup to cover generic
> pin control group parameters. The idea is to convert all users
> (one-by-one) to it and drop old members later on.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

For the whole series,

Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Andy Shevchenko June 20, 2022, 3:46 p.m. UTC | #2
On Mon, Jun 20, 2022 at 04:01:17PM +0300, Mika Westerberg wrote:
> On Mon, Jun 20, 2022 at 02:44:33PM +0300, Andy Shevchenko wrote:
> > Add a new member to the struct intel_pingroup to cover generic
> > pin control group parameters. The idea is to convert all users
> > (one-by-one) to it and drop old members later on.
> > 
> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> 
> For the whole series,
> 
> Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>

Pushed to my review and testing queue, thanks!
diff mbox series

Patch

diff --git a/drivers/pinctrl/intel/pinctrl-intel.h b/drivers/pinctrl/intel/pinctrl-intel.h
index 710341bb67cc..69ff0598263c 100644
--- a/drivers/pinctrl/intel/pinctrl-intel.h
+++ b/drivers/pinctrl/intel/pinctrl-intel.h
@@ -27,14 +27,15 @@  struct device;
  * @name: Name of the groups
  * @pins: All pins in this group
  * @npins: Number of pins in this groups
- * @mode: Native mode in which the group is muxed out @pins. Used if @modes
- *        is %NULL.
+ * @grp: Generic data of the pin group (name and pins)
+ * @mode: Native mode in which the group is muxed out @pins. Used if @modes is %NULL.
  * @modes: If not %NULL this will hold mode for each pin in @pins
  */
 struct intel_pingroup {
 	const char *name;
 	const unsigned int *pins;
 	size_t npins;
+	struct pingroup grp;
 	unsigned short mode;
 	const unsigned int *modes;
 };
@@ -156,15 +157,14 @@  struct intel_community {
  *     a single integer or an array of integers in which case mode is per
  *     pin.
  */
-#define PIN_GROUP(n, p, m)					\
-	{							\
+#define PIN_GROUP(n, p, m)								\
+	{										\
 		.name = (n),					\
 		.pins = (p),					\
 		.npins = ARRAY_SIZE((p)),			\
-		.mode = __builtin_choose_expr(			\
-			__builtin_constant_p((m)), (m), 0),	\
-		.modes = __builtin_choose_expr(			\
-			__builtin_constant_p((m)), NULL, (m)),	\
+		.grp = PINCTRL_PINGROUP((n), (p), ARRAY_SIZE((p))),			\
+		.mode = __builtin_choose_expr(__builtin_constant_p((m)), (m), 0),	\
+		.modes = __builtin_choose_expr(__builtin_constant_p((m)), NULL, (m)),	\
 	}
 
 #define FUNCTION(n, g)				\