pinctrl: core: Add a convenient define PINCTRL_GROUP_DESC()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 11 Dec 2023 18:57:54 +0000 (20:57 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 11 Dec 2023 23:47:52 +0000 (00:47 +0100)
Add PINCTRL_GROUP_DESC() macro for inline use.

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20231211190321.307330-2-andriy.shevchenko@linux.intel.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/core.c
drivers/pinctrl/core.h

index d678effcedd8897241c90d9109f592c1c359ce04..540221dc56179e0f32c973dab6697332725c0000 100644 (file)
@@ -658,10 +658,7 @@ int pinctrl_generic_add_group(struct pinctrl_dev *pctldev, const char *name,
        if (!group)
                return -ENOMEM;
 
-       group->name = name;
-       group->pins = pins;
-       group->num_pins = num_pins;
-       group->data = data;
+       *group = PINCTRL_GROUP_DESC(name, pins, num_pins, data);
 
        error = radix_tree_insert(&pctldev->pin_group_tree, selector, group);
        if (error)
index 8ef4b536bca506f824684eb969ba77918302f2e4..bf971e6a78464f787c9b42877df8b1dda95f5e57 100644 (file)
@@ -208,6 +208,15 @@ struct group_desc {
        void *data;
 };
 
+/* Convenience macro to define a generic pin group descriptor */
+#define PINCTRL_GROUP_DESC(_name, _pins, _num_pins, _data)     \
+(struct group_desc) {                                          \
+       .name = _name,                                          \
+       .pins = _pins,                                          \
+       .num_pins = _num_pins,                                  \
+       .data = _data,                                          \
+}
+
 int pinctrl_generic_get_group_count(struct pinctrl_dev *pctldev);
 
 const char *pinctrl_generic_get_group_name(struct pinctrl_dev *pctldev,