diff options
author | Dong Aisheng <dong.aisheng@linaro.org> | 2012-05-23 09:22:40 -0400 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2012-07-03 15:51:07 -0400 |
commit | 5d589b092ab212bbcc27828167e1c036e7fc77d2 (patch) | |
tree | d3c9dcc8ae1f647d912179b4bfd98e27bbdb801a /drivers/pinctrl/core.c | |
parent | da9aecb02d8763ef17130dfd7c678747ad84b070 (diff) |
pinctrl: remove pinctrl_remove_gpio_range
The gpio ranges will be automatically removed when the pinctrl
driver is unregistered.
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
Signed-off-by: Dong Aisheng <dong.aisheng@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl/core.c')
-rw-r--r-- | drivers/pinctrl/core.c | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/drivers/pinctrl/core.c b/drivers/pinctrl/core.c index 50d9c289cffd..902428dfb37e 100644 --- a/drivers/pinctrl/core.c +++ b/drivers/pinctrl/core.c | |||
@@ -333,20 +333,6 @@ void pinctrl_add_gpio_range(struct pinctrl_dev *pctldev, | |||
333 | EXPORT_SYMBOL_GPL(pinctrl_add_gpio_range); | 333 | EXPORT_SYMBOL_GPL(pinctrl_add_gpio_range); |
334 | 334 | ||
335 | /** | 335 | /** |
336 | * pinctrl_remove_gpio_range() - remove a range of GPIOs fro a pin controller | ||
337 | * @pctldev: pin controller device to remove the range from | ||
338 | * @range: the GPIO range to remove | ||
339 | */ | ||
340 | void pinctrl_remove_gpio_range(struct pinctrl_dev *pctldev, | ||
341 | struct pinctrl_gpio_range *range) | ||
342 | { | ||
343 | mutex_lock(&pinctrl_mutex); | ||
344 | list_del(&range->node); | ||
345 | mutex_unlock(&pinctrl_mutex); | ||
346 | } | ||
347 | EXPORT_SYMBOL_GPL(pinctrl_remove_gpio_range); | ||
348 | |||
349 | /** | ||
350 | * pinctrl_get_group_selector() - returns the group selector for a group | 336 | * pinctrl_get_group_selector() - returns the group selector for a group |
351 | * @pctldev: the pin controller handling the group | 337 | * @pctldev: the pin controller handling the group |
352 | * @pin_group: the pin group to look up | 338 | * @pin_group: the pin group to look up |
@@ -1480,6 +1466,7 @@ EXPORT_SYMBOL_GPL(pinctrl_register); | |||
1480 | */ | 1466 | */ |
1481 | void pinctrl_unregister(struct pinctrl_dev *pctldev) | 1467 | void pinctrl_unregister(struct pinctrl_dev *pctldev) |
1482 | { | 1468 | { |
1469 | struct pinctrl_gpio_range *range, *n; | ||
1483 | if (pctldev == NULL) | 1470 | if (pctldev == NULL) |
1484 | return; | 1471 | return; |
1485 | 1472 | ||
@@ -1495,6 +1482,10 @@ void pinctrl_unregister(struct pinctrl_dev *pctldev) | |||
1495 | /* Destroy descriptor tree */ | 1482 | /* Destroy descriptor tree */ |
1496 | pinctrl_free_pindescs(pctldev, pctldev->desc->pins, | 1483 | pinctrl_free_pindescs(pctldev, pctldev->desc->pins, |
1497 | pctldev->desc->npins); | 1484 | pctldev->desc->npins); |
1485 | /* remove gpio ranges map */ | ||
1486 | list_for_each_entry_safe(range, n, &pctldev->gpio_ranges, node) | ||
1487 | list_del(&range->node); | ||
1488 | |||
1498 | kfree(pctldev); | 1489 | kfree(pctldev); |
1499 | 1490 | ||
1500 | mutex_unlock(&pinctrl_mutex); | 1491 | mutex_unlock(&pinctrl_mutex); |