Merge branches 'irq-core-for-linus' and 'core-locking-for-linus' of git://git.kernel...
[pandora-kernel.git] / arch / arm / mach-s3c2410 / include / mach / gpio.h
1 /* arch/arm/mach-s3c2410/include/mach/gpio.h
2  *
3  * Copyright (c) 2008 Simtec Electronics
4  *      http://armlinux.simtec.co.uk/
5  *      Ben Dooks <ben@simtec.co.uk>
6  *
7  * S3C2410 - GPIO lib support
8  *
9  * This program is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License version 2 as
11  * published by the Free Software Foundation.
12 */
13
14 #define gpio_get_value  __gpio_get_value
15 #define gpio_set_value  __gpio_set_value
16 #define gpio_cansleep   __gpio_cansleep
17 #define gpio_to_irq     __gpio_to_irq
18
19 /* some boards require extra gpio capacity to support external
20  * devices that need GPIO.
21  */
22
23 #ifdef CONFIG_CPU_S3C244X
24 #define ARCH_NR_GPIOS   (32 * 9 + CONFIG_S3C24XX_GPIO_EXTRA)
25 #elif defined(CONFIG_CPU_S3C2443) || defined(CONFIG_CPU_S3C2416)
26 #define ARCH_NR_GPIOS   (32 * 12 + CONFIG_S3C24XX_GPIO_EXTRA)
27 #else
28 #define ARCH_NR_GPIOS   (256 + CONFIG_S3C24XX_GPIO_EXTRA)
29 #endif
30
31 #include <asm-generic/gpio.h>
32 #include <mach/gpio-nrs.h>
33 #include <mach/gpio-fns.h>
34
35 #ifdef CONFIG_CPU_S3C244X
36 #define S3C_GPIO_END    (S3C2410_GPJ(0) + 32)
37 #elif defined(CONFIG_CPU_S3C2443) || defined(CONFIG_CPU_S3C2416)
38 #define S3C_GPIO_END    (S3C2410_GPM(0) + 32)
39 #else
40 #define S3C_GPIO_END    (S3C2410_GPH(0) + 32)
41 #endif