pinctrl: alderlake: Deduplicate COMMUNITY macro code
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Tue, 18 Oct 2022 22:00:55 +0000 (01:00 +0300)
committerAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 26 Oct 2022 11:54:11 +0000 (14:54 +0300)
Define a common COMMUNITY macro and supply a variant to it.
This removes some verbosity in macros.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
drivers/pinctrl/intel/pinctrl-alderlake.c

index 62dbd1e..427febe 100644 (file)
                .gpio_base = (g),                       \
        }
 
-#define ADL_N_COMMUNITY(b, s, e, g)                    \
-       {                                               \
-               .barno = (b),                           \
-               .padown_offset = ADL_N_PAD_OWN,         \
-               .padcfglock_offset = ADL_N_PADCFGLOCK,  \
-               .hostown_offset = ADL_N_HOSTSW_OWN,     \
-               .is_offset = ADL_N_GPI_IS,              \
-               .ie_offset = ADL_N_GPI_IE,              \
-               .pin_base = (s),                        \
-               .npins = ((e) - (s) + 1),               \
-               .gpps = (g),                            \
-               .ngpps = ARRAY_SIZE(g),                 \
+#define ADL_COMMUNITY(b, s, e, g, v)                           \
+       {                                                       \
+               .barno = (b),                                   \
+               .padown_offset = ADL_##v##_PAD_OWN,             \
+               .padcfglock_offset = ADL_##v##_PADCFGLOCK,      \
+               .hostown_offset = ADL_##v##_HOSTSW_OWN,         \
+               .is_offset = ADL_##v##_GPI_IS,                  \
+               .ie_offset = ADL_##v##_GPI_IE,                  \
+               .pin_base = (s),                                \
+               .npins = ((e) - (s) + 1),                       \
+               .gpps = (g),                                    \
+               .ngpps = ARRAY_SIZE(g),                         \
        }
 
+#define ADL_N_COMMUNITY(b, s, e, g)                    \
+       ADL_COMMUNITY(b, s, e, g, N)
+
 #define ADL_S_COMMUNITY(b, s, e, g)                    \
-       {                                               \
-               .barno = (b),                           \
-               .padown_offset = ADL_S_PAD_OWN,         \
-               .padcfglock_offset = ADL_S_PADCFGLOCK,  \
-               .hostown_offset = ADL_S_HOSTSW_OWN,     \
-               .is_offset = ADL_S_GPI_IS,              \
-               .ie_offset = ADL_S_GPI_IE,              \
-               .pin_base = (s),                        \
-               .npins = ((e) - (s) + 1),               \
-               .gpps = (g),                            \
-               .ngpps = ARRAY_SIZE(g),                 \
-       }
+       ADL_COMMUNITY(b, s, e, g, S)
 
 /* Alder Lake-N */
 static const struct pinctrl_pin_desc adln_pins[] = {