Skip to content

Commit

Permalink
pinctrl: pinmux: Add a convenient define PINCTRL_FUNCTION_DESC()
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
andy-shev authored and linusw committed Jun 17, 2024
1 parent dc02d92 commit f26945d
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 8 deletions.
2 changes: 1 addition & 1 deletion drivers/pinctrl/core.h
Original file line number Diff line number Diff line change
Expand Up @@ -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), \
Expand Down
9 changes: 3 additions & 6 deletions drivers/pinctrl/pinmux.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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)
Expand Down
11 changes: 10 additions & 1 deletion drivers/pinctrl/pinmux.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 *
Expand All @@ -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,
Expand Down

0 comments on commit f26945d

Please sign in to comment.