summaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-s3c24xx/gpio.c
diff options
context:
space:
mode:
authorBen Dooks <ben-linux@fluff.org>2010-05-17 07:28:44 +0200
committerBen Dooks <ben-linux@fluff.org>2010-05-18 12:06:33 +0200
commit7987bd7a7051c979f7b9b572898f92dbef6aaeb1 (patch)
tree71f6aceb2ee3b0a1b00e64f9763b6ee01cb81c55 /arch/arm/plat-s3c24xx/gpio.c
parentARM: S3C24XX: Start cleanup of GPIO numbering (diff)
downloadlinux-7987bd7a7051c979f7b9b572898f92dbef6aaeb1.tar.xz
linux-7987bd7a7051c979f7b9b572898f92dbef6aaeb1.zip
ARM: S3C24XX: Update missed gpio calls to use gpiolib
Update a couple of S3C24XX and S3C2412 files that are still using the GPIO number to register mapping calls to get the s3c_gpio_chip and use the base field from that. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Diffstat (limited to '')
-rw-r--r--arch/arm/plat-s3c24xx/gpio.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/arm/plat-s3c24xx/gpio.c b/arch/arm/plat-s3c24xx/gpio.c
index 45126d3aafc6..2f3d7c089dfa 100644
--- a/arch/arm/plat-s3c24xx/gpio.c
+++ b/arch/arm/plat-s3c24xx/gpio.c
@@ -34,6 +34,8 @@
#include <mach/regs-gpio.h>
+#include <plat/gpio-core.h>
+
/* gpiolib wrappers until these are totally eliminated */
void s3c2410_gpio_pullup(unsigned int pin, unsigned int to)
@@ -68,10 +70,10 @@ EXPORT_SYMBOL(s3c2410_gpio_setpin);
unsigned int s3c2410_gpio_getpin(unsigned int pin)
{
- void __iomem *base = S3C24XX_GPIO_BASE(pin);
- unsigned long offs = S3C2410_GPIO_OFFSET(pin);
+ struct s3c_gpio_chip *chip = s3c_gpiolib_getchip(pin);
+ unsigned long offs = pin - chip->chip.base;
- return __raw_readl(base + 0x04) & (1<< offs);
+ return __raw_readl(chip->base + 0x04) & (1<< offs);
}
EXPORT_SYMBOL(s3c2410_gpio_getpin);