|
@@ -332,20 +332,6 @@ void pinctrl_add_gpio_range(struct pinctrl_dev *pctldev,
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(pinctrl_add_gpio_range);
|
|
|
|
|
|
-/**
|
|
|
- * pinctrl_remove_gpio_range() - remove a range of GPIOs fro a pin controller
|
|
|
- * @pctldev: pin controller device to remove the range from
|
|
|
- * @range: the GPIO range to remove
|
|
|
- */
|
|
|
-void pinctrl_remove_gpio_range(struct pinctrl_dev *pctldev,
|
|
|
- struct pinctrl_gpio_range *range)
|
|
|
-{
|
|
|
- mutex_lock(&pinctrl_mutex);
|
|
|
- list_del(&range->node);
|
|
|
- mutex_unlock(&pinctrl_mutex);
|
|
|
-}
|
|
|
-EXPORT_SYMBOL_GPL(pinctrl_remove_gpio_range);
|
|
|
-
|
|
|
/**
|
|
|
* pinctrl_get_group_selector() - returns the group selector for a group
|
|
|
* @pctldev: the pin controller handling the group
|
|
@@ -1480,6 +1466,7 @@ EXPORT_SYMBOL_GPL(pinctrl_register);
|
|
|
*/
|
|
|
void pinctrl_unregister(struct pinctrl_dev *pctldev)
|
|
|
{
|
|
|
+ struct pinctrl_gpio_range *range, *n;
|
|
|
if (pctldev == NULL)
|
|
|
return;
|
|
|
|
|
@@ -1495,6 +1482,10 @@ void pinctrl_unregister(struct pinctrl_dev *pctldev)
|
|
|
/* Destroy descriptor tree */
|
|
|
pinctrl_free_pindescs(pctldev, pctldev->desc->pins,
|
|
|
pctldev->desc->npins);
|
|
|
+ /* remove gpio ranges map */
|
|
|
+ list_for_each_entry_safe(range, n, &pctldev->gpio_ranges, node)
|
|
|
+ list_del(&range->node);
|
|
|
+
|
|
|
kfree(pctldev);
|
|
|
|
|
|
mutex_unlock(&pinctrl_mutex);
|