pinctrl: intel: Embed struct pingroup into struct intel_pingroup
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 20 Jun 2022 09:06:07 +0000 (12:06 +0300)
committerAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 20 Jun 2022 11:38:29 +0000 (14:38 +0300)
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>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
drivers/pinctrl/intel/pinctrl-intel.h

index 710341b..69ff059 100644 (file)
@@ -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)                         \