[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