pinctrl: nuvoton: Convert to use struct pingroup and PINCTRL_PINGROUP()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 4 Dec 2023 15:56:36 +0000 (17:56 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Thu, 7 Dec 2023 09:53:57 +0000 (10:53 +0100)
The pin control header provides struct pingroup and PINCTRL_PINGROUP() macro.
Utilize them instead of open coded variants in the driver.

Reviewed-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20231204160033.1872569-6-andriy.shevchenko@linux.intel.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/nuvoton/pinctrl-wpcm450.c

index 0cff44b..4589900 100644 (file)
@@ -474,9 +474,8 @@ enum {
 #undef WPCM450_GRP
 };
 
-static struct group_desc wpcm450_groups[] = {
-#define WPCM450_GRP(x) { .name = #x, .pins = x ## _pins, \
-                       .num_pins = ARRAY_SIZE(x ## _pins) }
+static struct pingroup wpcm450_groups[] = {
+#define WPCM450_GRP(x) PINCTRL_PINGROUP(#x, x ## _pins, ARRAY_SIZE(x ## _pins))
        WPCM450_GRPS
 #undef WPCM450_GRP
 };
@@ -852,7 +851,7 @@ static int wpcm450_get_group_pins(struct pinctrl_dev *pctldev,
                                  const unsigned int **pins,
                                  unsigned int *npins)
 {
-       *npins = wpcm450_groups[selector].num_pins;
+       *npins = wpcm450_groups[selector].npins;
        *pins  = wpcm450_groups[selector].pins;
 
        return 0;
@@ -901,7 +900,7 @@ static int wpcm450_pinmux_set_mux(struct pinctrl_dev *pctldev,
        struct wpcm450_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev);
 
        wpcm450_setfunc(pctrl->gcr_regmap, wpcm450_groups[group].pins,
-                       wpcm450_groups[group].num_pins, function);
+                       wpcm450_groups[group].npins, function);
 
        return 0;
 }