Commit 17d4f2a9 authored by Bartosz Golaszewski's avatar Bartosz Golaszewski Committed by Linus Walleij
Browse files

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: default avatarNeil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: default avatarBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent 77377744
Loading
Loading
Loading
Loading
+5 −10
Original line number Diff line number Diff line
@@ -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;
		}
	}