Revert "pinctrl: remove pinctrl_remove_gpio_range"
authorViresh Kumar <viresh.kumar@linaro.org>
Sat, 27 Oct 2012 09:51:35 +0000 (15:21 +0530)
committerLinus Walleij <linus.walleij@linaro.org>
Sun, 11 Nov 2012 18:05:59 +0000 (19:05 +0100)
This reverts earlier commit which removed
pinctrl_remove_gpio_range(), because at that time there
weren't any more users of that routine. It was removed as the
removal of ranges was done in unregister of pinctrl.

But as we are now registering stuff from gpiolib, we may
remove and insert a gpio module multiple times. So, we
need this routine again.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/core.c
include/linux/pinctrl/pinctrl.h

index cec6072cd7c1247436064c764a343d2948be06a0..b1086dcde15dd6d49b9d5cc3153e096164bcffbd 100644 (file)
@@ -345,6 +345,20 @@ void pinctrl_add_gpio_ranges(struct pinctrl_dev *pctldev,
 }
 EXPORT_SYMBOL_GPL(pinctrl_add_gpio_ranges);
 
+/**
+ * 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
index 7d087f03e91ec3c57e92d843f575d7df66fb9544..eda04674633dd9ded2dd7cdcca293e3a8a87234a 100644 (file)
@@ -134,6 +134,8 @@ extern void pinctrl_add_gpio_range(struct pinctrl_dev *pctldev,
 extern void pinctrl_add_gpio_ranges(struct pinctrl_dev *pctldev,
                                struct pinctrl_gpio_range *ranges,
                                unsigned nranges);
+extern void pinctrl_remove_gpio_range(struct pinctrl_dev *pctldev,
+                               struct pinctrl_gpio_range *range);
 extern const char *pinctrl_dev_get_name(struct pinctrl_dev *pctldev);
 extern void *pinctrl_dev_get_drvdata(struct pinctrl_dev *pctldev);
 #else
This page took 0.027061 seconds and 5 git commands to generate.