mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-30 18:47:06 +00:00
73 lines
2.2 KiB
Diff
73 lines
2.2 KiB
Diff
|
From 418ee9488ff74ab4ada3a539a2840dda9e56f847 Mon Sep 17 00:00:00 2001
|
||
|
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
|
||
|
Date: Fri, 29 Mar 2024 12:55:18 +0200
|
||
|
Subject: [PATCH] pinctrl: aw9523: Make use of struct pinfunction and
|
||
|
PINCTRL_PINFUNCTION()
|
||
|
|
||
|
Since pin control provides a generic data type and a macro for
|
||
|
the pin function definition, use them in the driver.
|
||
|
|
||
|
Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
|
||
|
Message-ID: <20240329105634.712457-5-andy.shevchenko@gmail.com>
|
||
|
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
|
||
|
---
|
||
|
drivers/pinctrl/pinctrl-aw9523.c | 32 ++++++--------------------------
|
||
|
1 file changed, 6 insertions(+), 26 deletions(-)
|
||
|
|
||
|
--- a/drivers/pinctrl/pinctrl-aw9523.c
|
||
|
+++ b/drivers/pinctrl/pinctrl-aw9523.c
|
||
|
@@ -67,18 +67,6 @@ struct aw9523_irq {
|
||
|
};
|
||
|
|
||
|
/*
|
||
|
- * struct aw9523_pinmux - Pin mux params
|
||
|
- * @name: Name of the mux
|
||
|
- * @grps: Groups of the mux
|
||
|
- * @num_grps: Number of groups (sizeof array grps)
|
||
|
- */
|
||
|
-struct aw9523_pinmux {
|
||
|
- const char *name;
|
||
|
- const char * const *grps;
|
||
|
- const u8 num_grps;
|
||
|
-};
|
||
|
-
|
||
|
-/*
|
||
|
* struct aw9523 - Main driver structure
|
||
|
* @dev: device handle
|
||
|
* @regmap: regmap handle for current device
|
||
|
@@ -158,17 +146,9 @@ static const char * const gpio_pwm_group
|
||
|
};
|
||
|
|
||
|
/* Warning: Do NOT reorder this array */
|
||
|
-static const struct aw9523_pinmux aw9523_pmx[] = {
|
||
|
- {
|
||
|
- .name = "pwm",
|
||
|
- .grps = gpio_pwm_groups,
|
||
|
- .num_grps = ARRAY_SIZE(gpio_pwm_groups),
|
||
|
- },
|
||
|
- {
|
||
|
- .name = "gpio",
|
||
|
- .grps = gpio_pwm_groups,
|
||
|
- .num_grps = ARRAY_SIZE(gpio_pwm_groups),
|
||
|
- },
|
||
|
+static const struct pinfunction aw9523_pmx[] = {
|
||
|
+ PINCTRL_PINFUNCTION("pwm", gpio_pwm_groups, ARRAY_SIZE(gpio_pwm_groups)),
|
||
|
+ PINCTRL_PINFUNCTION("gpio", gpio_pwm_groups, ARRAY_SIZE(gpio_pwm_groups)),
|
||
|
};
|
||
|
|
||
|
static int aw9523_pmx_get_funcs_count(struct pinctrl_dev *pctl)
|
||
|
@@ -184,10 +164,10 @@ static const char *aw9523_pmx_get_fname(
|
||
|
|
||
|
static int aw9523_pmx_get_groups(struct pinctrl_dev *pctl, unsigned int sel,
|
||
|
const char * const **groups,
|
||
|
- unsigned int * const num_groups)
|
||
|
+ unsigned int * const ngroups)
|
||
|
{
|
||
|
- *groups = aw9523_pmx[sel].grps;
|
||
|
- *num_groups = aw9523_pmx[sel].num_grps;
|
||
|
+ *groups = aw9523_pmx[sel].groups;
|
||
|
+ *ngroups = aw9523_pmx[sel].ngroups;
|
||
|
return 0;
|
||
|
}
|
||
|
|