diff options
author | Ben Dooks <ben-linux@fluff.org> | 2010-05-17 01:28:44 -0400 |
---|---|---|
committer | Ben Dooks <ben-linux@fluff.org> | 2010-05-18 06:06:33 -0400 |
commit | 7987bd7a7051c979f7b9b572898f92dbef6aaeb1 (patch) | |
tree | 71f6aceb2ee3b0a1b00e64f9763b6ee01cb81c55 | |
parent | 2c8fcfbf735e2d3b139e4247eb3e73edf64bb23f (diff) |
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>
-rw-r--r-- | arch/arm/mach-s3c2412/gpio.c | 12 | ||||
-rw-r--r-- | arch/arm/plat-s3c24xx/gpio.c | 8 |
2 files changed, 12 insertions, 8 deletions
diff --git a/arch/arm/mach-s3c2412/gpio.c b/arch/arm/mach-s3c2412/gpio.c index 71c579349dd5..3404a876b33e 100644 --- a/arch/arm/mach-s3c2412/gpio.c +++ b/arch/arm/mach-s3c2412/gpio.c | |||
@@ -16,18 +16,20 @@ | |||
16 | #include <linux/types.h> | 16 | #include <linux/types.h> |
17 | #include <linux/module.h> | 17 | #include <linux/module.h> |
18 | #include <linux/interrupt.h> | 18 | #include <linux/interrupt.h> |
19 | #include <linux/gpio.h> | ||
19 | 20 | ||
20 | #include <asm/mach/arch.h> | 21 | #include <asm/mach/arch.h> |
21 | #include <asm/mach/map.h> | 22 | #include <asm/mach/map.h> |
22 | 23 | ||
23 | #include <mach/regs-gpio.h> | 24 | #include <mach/regs-gpio.h> |
24 | |||
25 | #include <mach/hardware.h> | 25 | #include <mach/hardware.h> |
26 | 26 | ||
27 | #include <plat/gpio-core.h> | ||
28 | |||
27 | int s3c2412_gpio_set_sleepcfg(unsigned int pin, unsigned int state) | 29 | int s3c2412_gpio_set_sleepcfg(unsigned int pin, unsigned int state) |
28 | { | 30 | { |
29 | void __iomem *base = S3C24XX_GPIO_BASE(pin); | 31 | struct s3c_gpio_chip *chip = s3c_gpiolib_getchip(pin); |
30 | unsigned long offs = S3C2410_GPIO_OFFSET(pin); | 32 | unsigned long offs = pin - chip->chip.base; |
31 | unsigned long flags; | 33 | unsigned long flags; |
32 | unsigned long slpcon; | 34 | unsigned long slpcon; |
33 | 35 | ||
@@ -45,12 +47,12 @@ int s3c2412_gpio_set_sleepcfg(unsigned int pin, unsigned int state) | |||
45 | 47 | ||
46 | local_irq_save(flags); | 48 | local_irq_save(flags); |
47 | 49 | ||
48 | slpcon = __raw_readl(base + 0x0C); | 50 | slpcon = __raw_readl(chip->base + 0x0C); |
49 | 51 | ||
50 | slpcon &= ~(3 << offs); | 52 | slpcon &= ~(3 << offs); |
51 | slpcon |= state << offs; | 53 | slpcon |= state << offs; |
52 | 54 | ||
53 | __raw_writel(slpcon, base + 0x0C); | 55 | __raw_writel(slpcon, chip->base + 0x0C); |
54 | 56 | ||
55 | local_irq_restore(flags); | 57 | local_irq_restore(flags); |
56 | 58 | ||
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 @@ | |||
34 | 34 | ||
35 | #include <mach/regs-gpio.h> | 35 | #include <mach/regs-gpio.h> |
36 | 36 | ||
37 | #include <plat/gpio-core.h> | ||
38 | |||
37 | /* gpiolib wrappers until these are totally eliminated */ | 39 | /* gpiolib wrappers until these are totally eliminated */ |
38 | 40 | ||
39 | void s3c2410_gpio_pullup(unsigned int pin, unsigned int to) | 41 | void s3c2410_gpio_pullup(unsigned int pin, unsigned int to) |
@@ -68,10 +70,10 @@ EXPORT_SYMBOL(s3c2410_gpio_setpin); | |||
68 | 70 | ||
69 | unsigned int s3c2410_gpio_getpin(unsigned int pin) | 71 | unsigned int s3c2410_gpio_getpin(unsigned int pin) |
70 | { | 72 | { |
71 | void __iomem *base = S3C24XX_GPIO_BASE(pin); | 73 | struct s3c_gpio_chip *chip = s3c_gpiolib_getchip(pin); |
72 | unsigned long offs = S3C2410_GPIO_OFFSET(pin); | 74 | unsigned long offs = pin - chip->chip.base; |
73 | 75 | ||
74 | return __raw_readl(base + 0x04) & (1<< offs); | 76 | return __raw_readl(chip->base + 0x04) & (1<< offs); |
75 | } | 77 | } |
76 | 78 | ||
77 | EXPORT_SYMBOL(s3c2410_gpio_getpin); | 79 | EXPORT_SYMBOL(s3c2410_gpio_getpin); |