pinctrl: airoha: replace struct function_desc with struct pinfunction

struct function_desc is a wrapper around struct pinfunction with an
additional void *data pointer. This driver doesn't use the data pointer.
We're also working towards reducing the usage of struct function_desc in
pinctrl drivers - they should only be created by pinmux core and
accessed by drivers using pinmux_generic_get_function(). Replace the
struct function_desc objects in this driver with smaller struct
pinfunction instances.

Tested-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
Bartosz Golaszewski 2025-09-02 13:59:13 +02:00 committed by Linus Walleij
parent 77377744c2
commit 17d4f2a9e6

View File

@ -35,13 +35,8 @@
#define PINCTRL_FUNC_DESC(id) \
{ \
.desc = { \
.func = { \
.name = #id, \
.groups = id##_groups, \
.ngroups = ARRAY_SIZE(id##_groups), \
} \
}, \
.desc = PINCTRL_PINFUNCTION(#id, id##_groups, \
ARRAY_SIZE(id##_groups)), \
.groups = id##_func_group, \
.group_size = ARRAY_SIZE(id##_func_group), \
}
@ -334,7 +329,7 @@ struct airoha_pinctrl_func_group {
};
struct airoha_pinctrl_func {
const struct function_desc desc;
const struct pinfunction desc;
const struct airoha_pinctrl_func_group *groups;
u8 group_size;
};
@ -2908,11 +2903,11 @@ static int airoha_pinctrl_probe(struct platform_device *pdev)
func = &airoha_pinctrl_funcs[i];
err = pinmux_generic_add_pinfunction(pinctrl->ctrl,
&func->desc.func,
&func->desc,
(void *)func);
if (err < 0) {
dev_err(dev, "Failed to register function %s\n",
func->desc.func.name);
func->desc.name);
return err;
}
}