aboutsummaryrefslogtreecommitdiffstats
path: root/patches.at91/0091-pinctrl-add-pinctrl_add_gpio_ranges-function.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches.at91/0091-pinctrl-add-pinctrl_add_gpio_ranges-function.patch')
-rw-r--r--patches.at91/0091-pinctrl-add-pinctrl_add_gpio_ranges-function.patch57
1 files changed, 57 insertions, 0 deletions
diff --git a/patches.at91/0091-pinctrl-add-pinctrl_add_gpio_ranges-function.patch b/patches.at91/0091-pinctrl-add-pinctrl_add_gpio_ranges-function.patch
new file mode 100644
index 00000000000000..a1cbaf5fcafdab
--- /dev/null
+++ b/patches.at91/0091-pinctrl-add-pinctrl_add_gpio_ranges-function.patch
@@ -0,0 +1,57 @@
+From a41052a3f24aebed6c1adb152bba379c729693e0 Mon Sep 17 00:00:00 2001
+From: Dong Aisheng <dong.aisheng@linaro.org>
+Date: Wed, 23 May 2012 21:22:41 +0800
+Subject: pinctrl: add pinctrl_add_gpio_ranges function
+
+commit 3e5e00b654997aa2c3998d30f7213b9611eb23d7 upstream.
+
+Often GPIO ranges are added in batch, so create a special
+function for that.
+
+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>
+---
+ drivers/pinctrl/core.c | 11 +++++++++++
+ include/linux/pinctrl/pinctrl.h | 3 +++
+ 2 files changed, 14 insertions(+)
+
+diff --git a/drivers/pinctrl/core.c b/drivers/pinctrl/core.c
+index 7b3fc93..fa8a440 100644
+--- a/drivers/pinctrl/core.c
++++ b/drivers/pinctrl/core.c
+@@ -312,6 +312,17 @@ void pinctrl_add_gpio_range(struct pinctrl_dev *pctldev,
+ }
+ EXPORT_SYMBOL_GPL(pinctrl_add_gpio_range);
+
++void pinctrl_add_gpio_ranges(struct pinctrl_dev *pctldev,
++ struct pinctrl_gpio_range *ranges,
++ unsigned nranges)
++{
++ int i;
++
++ for (i = 0; i < nranges; i++)
++ pinctrl_add_gpio_range(pctldev, &ranges[i]);
++}
++EXPORT_SYMBOL_GPL(pinctrl_add_gpio_ranges);
++
+ /**
+ * pinctrl_get_group_selector() - returns the group selector for a group
+ * @pctldev: the pin controller handling the group
+diff --git a/include/linux/pinctrl/pinctrl.h b/include/linux/pinctrl/pinctrl.h
+index 6e30132..e162710 100644
+--- a/include/linux/pinctrl/pinctrl.h
++++ b/include/linux/pinctrl/pinctrl.h
+@@ -124,6 +124,9 @@ extern void pinctrl_unregister(struct pinctrl_dev *pctldev);
+ extern bool pin_is_valid(struct pinctrl_dev *pctldev, int pin);
+ extern void pinctrl_add_gpio_range(struct pinctrl_dev *pctldev,
+ struct pinctrl_gpio_range *range);
++extern void pinctrl_add_gpio_ranges(struct pinctrl_dev *pctldev,
++ struct pinctrl_gpio_range *ranges,
++ unsigned nranges);
+ extern const char *pinctrl_dev_get_name(struct pinctrl_dev *pctldev);
+ extern void *pinctrl_dev_get_drvdata(struct pinctrl_dev *pctldev);
+ #else
+--
+1.8.0.197.g5a90748
+