On Fri, Jun 15, 2018 at 2:14 PM Tony Lindgren <tony@xxxxxxxxxxx> 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@xxxxxxxxxxxxx> > Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> > Cc: Jacopo Mondi <jacopo+renesas@xxxxxxxxxx> > Cc: Paul Cercueil <paul@xxxxxxxxxxxxxxx> > Cc: Sean Wang <sean.wang@xxxxxxxxxxxx> > Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> > --- > 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 -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html