Skip to content

Commit 5a0398c

Browse files
AntonioBorneoLinus Walleij
authored andcommitted
pinctrl: stm32: Rework stm32_pconf_parse_conf()
Reduce the number of parameters of the function by moving inside the function the decoding of the field 'config'. While there: - change the type of 'param' to 'unsigned int' to handle the extra values not in 'enum pin_config_param'; - change the type of 'arg' to 'u32' to avoid additional conversions and align to 'u32' the corresponding param of __stm32_gpio_set(). Signed-off-by: Antonio Borneo <antonio.borneo@foss.st.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
1 parent 5c284d0 commit 5a0398c

1 file changed

Lines changed: 6 additions & 9 deletions

File tree

drivers/pinctrl/stm32/pinctrl-stm32.c

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,7 @@ static void stm32_gpio_rif_release_semaphore(struct stm32_gpio_bank *bank, unsig
287287
/* GPIO functions */
288288

289289
static inline void __stm32_gpio_set(struct stm32_gpio_bank *bank,
290-
unsigned offset, int value)
290+
unsigned int offset, u32 value)
291291
{
292292
stm32_gpio_backup_value(bank, offset, value);
293293

@@ -1195,10 +1195,11 @@ static bool stm32_pconf_get(struct stm32_gpio_bank *bank,
11951195
}
11961196

11971197
static int stm32_pconf_parse_conf(struct pinctrl_dev *pctldev,
1198-
unsigned int pin, enum pin_config_param param,
1199-
enum pin_config_param arg)
1198+
unsigned int pin, unsigned long config)
12001199
{
12011200
struct stm32_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev);
1201+
unsigned int param = pinconf_to_config_param(config);
1202+
u32 arg = pinconf_to_config_argument(config);
12021203
struct pinctrl_gpio_range *range;
12031204
struct stm32_gpio_bank *bank;
12041205
int offset, ret = 0;
@@ -1267,9 +1268,7 @@ static int stm32_pconf_group_set(struct pinctrl_dev *pctldev, unsigned group,
12671268

12681269
for (i = 0; i < num_configs; i++) {
12691270
mutex_lock(&pctldev->mutex);
1270-
ret = stm32_pconf_parse_conf(pctldev, g->pin,
1271-
pinconf_to_config_param(configs[i]),
1272-
pinconf_to_config_argument(configs[i]));
1271+
ret = stm32_pconf_parse_conf(pctldev, g->pin, configs[i]);
12731272
mutex_unlock(&pctldev->mutex);
12741273
if (ret < 0)
12751274
return ret;
@@ -1286,9 +1285,7 @@ static int stm32_pconf_set(struct pinctrl_dev *pctldev, unsigned int pin,
12861285
int i, ret;
12871286

12881287
for (i = 0; i < num_configs; i++) {
1289-
ret = stm32_pconf_parse_conf(pctldev, pin,
1290-
pinconf_to_config_param(configs[i]),
1291-
pinconf_to_config_argument(configs[i]));
1288+
ret = stm32_pconf_parse_conf(pctldev, pin, configs[i]);
12921289
if (ret < 0)
12931290
return ret;
12941291
}

0 commit comments

Comments
 (0)