]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
pinctrl: pinmux: Add a convenient define PINCTRL_FUNCTION_DESC()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Thu, 30 May 2024 08:55:14 +0000 (11:55 +0300)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 17 Jun 2024 07:24:13 +0000 (09:24 +0200)
Add PINCTRL_FUNCTION_DESC() macro for inline use.

While at it, fix adjective form in the comment of PINCTRL_GROUP_DESC().

Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Link: https://lore.kernel.org/r/20240530085745.1539925-6-andy.shevchenko@gmail.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/core.h
drivers/pinctrl/pinmux.c
drivers/pinctrl/pinmux.h

index 837fd5bd903df811dd0731917d43f7f8bc906e4f..4e07707d2435bdd1e6798e3b923e752191846b45 100644 (file)
@@ -206,7 +206,7 @@ struct group_desc {
        void *data;
 };
 
-/* Convenience macro to define a generic pin group descriptor */
+/* Convenient macro to define a generic pin group descriptor */
 #define PINCTRL_GROUP_DESC(_name, _pins, _num_pins, _data)     \
 (struct group_desc) {                                          \
        .grp = PINCTRL_PINGROUP(_name, _pins, _num_pins),       \
index addba55334d94755c848a5b86c8d4b0367bd7d56..8d69fa1b0bfff2a1ad4818be1ac32bf11474c6d7 100644 (file)
@@ -852,13 +852,13 @@ EXPORT_SYMBOL_GPL(pinmux_generic_get_function);
  * @pctldev: pin controller device
  * @name: name of the function
  * @groups: array of pin groups
- * @num_groups: number of pin groups
+ * @ngroups: number of pin groups
  * @data: pin controller driver specific data
  */
 int pinmux_generic_add_function(struct pinctrl_dev *pctldev,
                                const char *name,
                                const char * const *groups,
-                               const unsigned int num_groups,
+                               const unsigned int ngroups,
                                void *data)
 {
        struct function_desc *function;
@@ -877,10 +877,7 @@ int pinmux_generic_add_function(struct pinctrl_dev *pctldev,
        if (!function)
                return -ENOMEM;
 
-       function->name = name;
-       function->group_names = groups;
-       function->num_group_names = num_groups;
-       function->data = data;
+       *function = PINCTRL_FUNCTION_DESC(name, groups, ngroups, data);
 
        error = radix_tree_insert(&pctldev->pin_function_tree, selector, function);
        if (error)
index 7c8aa25ccc80680ddb15c7d32ce721a5db5f43a1..52e6e4db88b4444b1edd4a2c17f298f22bf8ce24 100644 (file)
@@ -145,6 +145,15 @@ struct function_desc {
        void *data;
 };
 
+/* Convenient macro to define a generic pin function descriptor */
+#define PINCTRL_FUNCTION_DESC(_name, _grps, _num_grps, _data)  \
+(struct function_desc) {                                       \
+       .name = _name,                                          \
+       .group_names = _grps,                                   \
+       .num_group_names = _num_grps,                           \
+       .data = _data,                                          \
+}
+
 int pinmux_generic_get_function_count(struct pinctrl_dev *pctldev);
 
 const char *
@@ -162,7 +171,7 @@ struct function_desc *pinmux_generic_get_function(struct pinctrl_dev *pctldev,
 int pinmux_generic_add_function(struct pinctrl_dev *pctldev,
                                const char *name,
                                const char * const *groups,
-                               unsigned int const num_groups,
+                               unsigned int const ngroups,
                                void *data);
 
 int pinmux_generic_remove_function(struct pinctrl_dev *pctldev,