[Linux-stm32] [PATCH] pinctrl: stm32: Print invalid AF warning inside stm32_pctrl_is_function_valid()

Fabien Dessenne fabien.dessenne at foss.st.com
Wed Apr 7 10:25:03 BST 2021


Hi Marek,

Thank you for the patch!


On 06/04/2021 8:00 pm, Marek Vasut wrote:
> The "invalid function %d on pin %d .\n" message is triplicated in the
> driver in different variants, just pull it into the function and have
> it once in the driver. The bonus is that all variants of the message
> now print the pin number and AF consistently, so it is easier to debug
> such pinmux problems.
> 
> Signed-off-by: Marek Vasut <marex at denx.de>

Acked-by: Fabien Dessenne <fabien.dessenne at foss.st.com>

> Cc: Fabien Dessenne <fabien.dessenne at st.com>
> Cc: Alexandre Torgue <alexandre.torgue at st.com>
> Cc: Linus Walleij <linus.walleij at linaro.org>
> Cc: linux-stm32 at st-md-mailman.stormreply.com
> To: linux-arm-kernel at lists.infradead.org
> ---
>   drivers/pinctrl/stm32/pinctrl-stm32.c | 13 ++++---------
>   1 file changed, 4 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/pinctrl/stm32/pinctrl-stm32.c b/drivers/pinctrl/stm32/pinctrl-stm32.c
> index da72e3e5c08d..ad9eb5ed8e81 100644
> --- a/drivers/pinctrl/stm32/pinctrl-stm32.c
> +++ b/drivers/pinctrl/stm32/pinctrl-stm32.c
> @@ -531,6 +531,8 @@ static bool stm32_pctrl_is_function_valid(struct stm32_pinctrl *pctl,
>   		break;
>   	}
>   
> +	dev_err(pctl->dev, "invalid function %d on pin %d .\n", fnum, pin_num);
> +
>   	return false;
>   }
>   
> @@ -545,11 +547,8 @@ static int stm32_pctrl_dt_node_to_map_func(struct stm32_pinctrl *pctl,
>   	(*map)[*num_maps].type = PIN_MAP_TYPE_MUX_GROUP;
>   	(*map)[*num_maps].data.mux.group = grp->name;
>   
> -	if (!stm32_pctrl_is_function_valid(pctl, pin, fnum)) {
> -		dev_err(pctl->dev, "invalid function %d on pin %d .\n",
> -				fnum, pin);
> +	if (!stm32_pctrl_is_function_valid(pctl, pin, fnum))
>   		return -EINVAL;
> -	}
>   
>   	(*map)[*num_maps].data.mux.function = stm32_gpio_functions[fnum];
>   	(*num_maps)++;
> @@ -620,7 +619,6 @@ static int stm32_pctrl_dt_subnode_to_map(struct pinctrl_dev *pctldev,
>   		func = STM32_GET_PIN_FUNC(pinfunc);
>   
>   		if (!stm32_pctrl_is_function_valid(pctl, pin, func)) {
> -			dev_err(pctl->dev, "invalid function.\n");
>   			err = -EINVAL;
>   			goto exit;
>   		}
> @@ -821,11 +819,8 @@ static int stm32_pmx_set_mux(struct pinctrl_dev *pctldev,
>   	int pin;
>   
>   	ret = stm32_pctrl_is_function_valid(pctl, g->pin, function);
> -	if (!ret) {
> -		dev_err(pctl->dev, "invalid function %d on group %d .\n",
> -				function, group);
> +	if (!ret)
>   		return -EINVAL;
> -	}
>   
>   	range = pinctrl_find_gpio_range_from_pin(pctldev, g->pin);
>   	if (!range) {
> 



More information about the linux-arm-kernel mailing list