diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-14 16:42:43 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-14 16:42:43 -0400 |
commit | 2cf4d4514d5b43c1f3b64bd0ec8b9853bde8f1dc (patch) | |
tree | e35a625496acc6ac852846d40b8851186b9d1ac4 /arch/arm/plat-s3c24xx/gpio.c | |
parent | 44b7532b8b464f606053562400719c9c21276037 (diff) | |
parent | ce53895a5d24e0ee19fb92f56c17323fb4c9ab27 (diff) |
Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (417 commits)
MAINTAINERS: EB110ATX is not ebsa110
MAINTAINERS: update Eric Miao's email address and status
fb: add support of LCD display controller on pxa168/910 (base layer)
[ARM] 5552/1: ep93xx get_uart_rate(): use EP93XX_SYSCON_PWRCNT and EP93XX_SYSCON_PWRCN
[ARM] pxa/sharpsl_pm: zaurus needs generic pxa suspend/resume routines
[ARM] 5544/1: Trust PrimeCell resource sizes
[ARM] pxa/sharpsl_pm: cleanup of gpio-related code.
[ARM] pxa/sharpsl_pm: drop set_irq_type calls
[ARM] pxa/sharpsl_pm: merge pxa-specific code into generic one
[ARM] pxa/sharpsl_pm: merge the two sharpsl_pm.c since it's now pxa specific
[ARM] sa1100: remove unused collie_pm.c
[ARM] pxa: fix the conflicting non-static declarations of global_gpios[]
[ARM] 5550/1: Add default configure file for w90p910 platform
[ARM] 5549/1: Add clock api for w90p910 platform.
[ARM] 5548/1: Add gpio api for w90p910 platform
[ARM] 5551/1: Add multi-function pin api for w90p910 platform.
[ARM] Make ARM_VIC_NR depend on ARM_VIC
[ARM] 5546/1: ARM PL022 SSP/SPI driver v3
ARM: OMAP4: SMP: Update defconfig for OMAP4430
ARM: OMAP4: SMP: Enable SMP support for OMAP4430
...
Diffstat (limited to 'arch/arm/plat-s3c24xx/gpio.c')
-rw-r--r-- | arch/arm/plat-s3c24xx/gpio.c | 34 |
1 files changed, 9 insertions, 25 deletions
diff --git a/arch/arm/plat-s3c24xx/gpio.c b/arch/arm/plat-s3c24xx/gpio.c index 4a899c279eb5..95df059b5a1d 100644 --- a/arch/arm/plat-s3c24xx/gpio.c +++ b/arch/arm/plat-s3c24xx/gpio.c | |||
@@ -183,35 +183,19 @@ EXPORT_SYMBOL(s3c2410_modify_misccr); | |||
183 | 183 | ||
184 | int s3c2410_gpio_getirq(unsigned int pin) | 184 | int s3c2410_gpio_getirq(unsigned int pin) |
185 | { | 185 | { |
186 | if (pin < S3C2410_GPF0 || pin > S3C2410_GPG15) | 186 | if (pin < S3C2410_GPF(0) || pin > S3C2410_GPG(15)) |
187 | return -1; /* not valid interrupts */ | 187 | return -EINVAL; /* not valid interrupts */ |
188 | 188 | ||
189 | if (pin < S3C2410_GPG0 && pin > S3C2410_GPF7) | 189 | if (pin < S3C2410_GPG(0) && pin > S3C2410_GPF(7)) |
190 | return -1; /* not valid pin */ | 190 | return -EINVAL; /* not valid pin */ |
191 | 191 | ||
192 | if (pin < S3C2410_GPF4) | 192 | if (pin < S3C2410_GPF(4)) |
193 | return (pin - S3C2410_GPF0) + IRQ_EINT0; | 193 | return (pin - S3C2410_GPF(0)) + IRQ_EINT0; |
194 | 194 | ||
195 | if (pin < S3C2410_GPG0) | 195 | if (pin < S3C2410_GPG(0)) |
196 | return (pin - S3C2410_GPF4) + IRQ_EINT4; | 196 | return (pin - S3C2410_GPF(4)) + IRQ_EINT4; |
197 | 197 | ||
198 | return (pin - S3C2410_GPG0) + IRQ_EINT8; | 198 | return (pin - S3C2410_GPG(0)) + IRQ_EINT8; |
199 | } | 199 | } |
200 | 200 | ||
201 | EXPORT_SYMBOL(s3c2410_gpio_getirq); | 201 | EXPORT_SYMBOL(s3c2410_gpio_getirq); |
202 | |||
203 | int s3c2410_gpio_irq2pin(unsigned int irq) | ||
204 | { | ||
205 | if (irq >= IRQ_EINT0 && irq <= IRQ_EINT3) | ||
206 | return S3C2410_GPF0 + (irq - IRQ_EINT0); | ||
207 | |||
208 | if (irq >= IRQ_EINT4 && irq <= IRQ_EINT7) | ||
209 | return S3C2410_GPF4 + (irq - IRQ_EINT4); | ||
210 | |||
211 | if (irq >= IRQ_EINT8 && irq <= IRQ_EINT23) | ||
212 | return S3C2410_GPG0 + (irq - IRQ_EINT8); | ||
213 | |||
214 | return -EINVAL; | ||
215 | } | ||
216 | |||
217 | EXPORT_SYMBOL(s3c2410_gpio_irq2pin); | ||