On Fri, Jun 15, 2018 at 2:15 PM Tony Lindgren <t...@atomide.com> wrote:
>
> We must return the selector from pinmux_generic_add_function() so
> pin controller device drivers can remove the right group if needed
> for deferred probe for example.
>
> Note that fixes are also needed for the pin controller drivers to
> use the selector value.
>
> Fixes: a76edc89b100 ("pinctrl: core: Add generic pinctrl functions for
> managing groups")
> Reported-by: H. Nikolaus Schaller <h...@goldelico.com>
> Cc: Haojian Zhuang <haojian.zhu...@linaro.org>
> Cc: Jacopo Mondi <jacopo+rene...@jmondi.org>
> Cc: Paul Cercueil <p...@crapouillou.net>
> Cc: Sean Wang <sean.w...@mediatek.com>
> Signed-off-by: Tony Lindgren <t...@atomide.com>
> ---
>  drivers/pinctrl/pinmux.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/pinctrl/pinmux.c b/drivers/pinctrl/pinmux.c
> --- a/drivers/pinctrl/pinmux.c
> +++ b/drivers/pinctrl/pinmux.c
> @@ -775,6 +775,7 @@ int pinmux_generic_add_function(struct pinctrl_dev 
> *pctldev,
>                                 void *data)
>  {
>         struct function_desc *function;
> +       int selector = pctldev->num_functions;
>
>         function = devm_kzalloc(pctldev->dev, sizeof(*function), GFP_KERNEL);
>         if (!function)
> @@ -785,12 +786,12 @@ int pinmux_generic_add_function(struct pinctrl_dev 
> *pctldev,
>         function->num_group_names = num_groups;
>         function->data = data;
>
> -       radix_tree_insert(&pctldev->pin_function_tree, pctldev->num_functions,
> +       radix_tree_insert(&pctldev->pin_function_tree, selector,
>                           function);

Same nit: One line now?

>

>         pctldev->num_functions++;
>
> -       return 0;
> +       return selector;
>  }
>  EXPORT_SYMBOL_GPL(pinmux_generic_add_function);
>
> --
> 2.17.1



-- 
With Best Regards,
Andy Shevchenko

Reply via email to