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)
 
        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;
                }
        }
 
 
 #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,                                                     \
        }
 
 
 
 #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,                                                     \
        }