lkml.org 
[lkml]   [2018]   [Jun]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH 1/5] pinctrl: core: Return selector to the pinctrl driver
On Fri, Jun 15, 2018 at 2:14 PM Tony Lindgren <tony@atomide.com> wrote:
>
> We must return the selector from pinctrl_generic_add_group() 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: c7059c5ac70a ("pinctrl: core: Add generic pinctrl functions
> for managing groups")
> Reported-by: H. Nikolaus Schaller <hns@goldelico.com>
> Cc: Haojian Zhuang <haojian.zhuang@linaro.org>
> Cc: Jacopo Mondi <jacopo+renesas@jmondi.org>
> Cc: Paul Cercueil <paul@crapouillou.net>
> Cc: Sean Wang <sean.wang@mediatek.com>
> Signed-off-by: Tony Lindgren <tony@atomide.com>
> ---
> drivers/pinctrl/core.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/pinctrl/core.c b/drivers/pinctrl/core.c
> --- a/drivers/pinctrl/core.c
> +++ b/drivers/pinctrl/core.c
> @@ -631,6 +631,7 @@ int pinctrl_generic_add_group(struct pinctrl_dev *pctldev, const char *name,
> int *pins, int num_pins, void *data)
> {
> struct group_desc *group;
> + int selector = pctldev->num_groups;
>
> group = devm_kzalloc(pctldev->dev, sizeof(*group), GFP_KERNEL);
> if (!group)
> @@ -641,12 +642,12 @@ int pinctrl_generic_add_group(struct pinctrl_dev *pctldev, const char *name,
> group->num_pins = num_pins;
> group->data = data;
>
> - radix_tree_insert(&pctldev->pin_group_tree, pctldev->num_groups,
> + radix_tree_insert(&pctldev->pin_group_tree, selector,
> group);

A nit: Can it be now one line?

>
> pctldev->num_groups++;
>
> - return 0;
> + return selector;
> }
> EXPORT_SYMBOL_GPL(pinctrl_generic_add_group);
>
> --
> 2.17.1



--
With Best Regards,
Andy Shevchenko

\
 
 \ /
  Last update: 2018-06-17 18:51    [W:0.081 / U:0.324 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site