aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-samsung/gpio-config.c
diff options
context:
space:
mode:
authorBen Dooks <ben-linux@fluff.org>2010-10-01 13:37:13 +0900
committerKukjin Kim <kgene.kim@samsung.com>2010-10-23 11:48:47 +0900
commit4b46fbba607ef99f1aab3b77bfc1dc25464df5a6 (patch)
tree8abce026b2f489ffe94982e73b05884d4db9cd3c /arch/arm/plat-samsung/gpio-config.c
parentfe0cdec8bad919fd91cd344123906a55f3857209 (diff)
downloadkernel_samsung_smdk4412-4b46fbba607ef99f1aab3b77bfc1dc25464df5a6.zip
kernel_samsung_smdk4412-4b46fbba607ef99f1aab3b77bfc1dc25464df5a6.tar.gz
kernel_samsung_smdk4412-4b46fbba607ef99f1aab3b77bfc1dc25464df5a6.tar.bz2
ARM: SAMSUNG: Add GPIO configuration for a range of pins
Add s3c_gpio_cfgpin_range() to configure a range of pins to the given value. This is useful for a number of blocks where the pins are in order and saves multiple calls to s3c_gpio_cfgpin(). Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'arch/arm/plat-samsung/gpio-config.c')
-rw-r--r--arch/arm/plat-samsung/gpio-config.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/arm/plat-samsung/gpio-config.c b/arch/arm/plat-samsung/gpio-config.c
index e3d41ea..fa180dc 100644
--- a/arch/arm/plat-samsung/gpio-config.c
+++ b/arch/arm/plat-samsung/gpio-config.c
@@ -41,6 +41,21 @@ int s3c_gpio_cfgpin(unsigned int pin, unsigned int config)
}
EXPORT_SYMBOL(s3c_gpio_cfgpin);
+int s3c_gpio_cfgpin_range(unsigned int start, unsigned int nr,
+ unsigned int cfg)
+{
+ int ret;
+
+ for (; nr > 0; nr--, start++) {
+ ret = s3c_gpio_cfgpin(start, cfg);
+ if (ret != 0)
+ return ret;
+ }
+
+ return 0;
+}
+EXPORT_SYMBOL_GPL(s3c_gpio_cfgpin_range);
+
unsigned s3c_gpio_getcfg(unsigned int pin)
{
struct s3c_gpio_chip *chip = s3c_gpiolib_getchip(pin);