aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-s3c24xx/common-smdk.c2
-rw-r--r--arch/arm/mach-s3c24xx/h1940-bluetooth.c2
-rw-r--r--arch/arm/mach-s3c24xx/include/mach/gpio-samsung.h106
-rw-r--r--arch/arm/mach-s3c24xx/mach-amlm5900.c2
-rw-r--r--arch/arm/mach-s3c24xx/mach-anubis.c2
-rw-r--r--arch/arm/mach-s3c24xx/mach-at2440evb.c2
-rw-r--r--arch/arm/mach-s3c24xx/mach-bast.c2
-rw-r--r--arch/arm/mach-s3c24xx/mach-gta02.c2
-rw-r--r--arch/arm/mach-s3c24xx/mach-h1940.c2
-rw-r--r--arch/arm/mach-s3c24xx/mach-jive.c2
-rw-r--r--arch/arm/mach-s3c24xx/mach-mini2440.c2
-rw-r--r--arch/arm/mach-s3c24xx/mach-n30.c2
-rw-r--r--arch/arm/mach-s3c24xx/mach-nexcoder.c2
-rw-r--r--arch/arm/mach-s3c24xx/mach-osiris-dvs.c2
-rw-r--r--arch/arm/mach-s3c24xx/mach-osiris.c2
-rw-r--r--arch/arm/mach-s3c24xx/mach-qt2410.c2
-rw-r--r--arch/arm/mach-s3c24xx/mach-rx1950.c2
-rw-r--r--arch/arm/mach-s3c24xx/mach-rx3715.c2
-rw-r--r--arch/arm/mach-s3c24xx/mach-smdk2413.c2
-rw-r--r--arch/arm/mach-s3c24xx/mach-smdk2416.c2
-rw-r--r--arch/arm/mach-s3c24xx/mach-vr1000.c2
-rw-r--r--arch/arm/mach-s3c24xx/pm-s3c2410.c2
-rw-r--r--arch/arm/mach-s3c24xx/pm.c2
-rw-r--r--arch/arm/mach-s3c24xx/s3c2410.c2
-rw-r--r--arch/arm/mach-s3c24xx/s3c2416.c2
-rw-r--r--arch/arm/mach-s3c24xx/s3c2440.c2
-rw-r--r--arch/arm/mach-s3c24xx/s3c2442.c2
-rw-r--r--arch/arm/mach-s3c24xx/s3c2443.c2
-rw-r--r--arch/arm/mach-s3c24xx/setup-i2c.c2
-rw-r--r--arch/arm/mach-s3c24xx/setup-sdhci-gpio.c2
-rw-r--r--arch/arm/mach-s3c24xx/setup-ts.c2
-rw-r--r--arch/arm/mach-s3c24xx/simtec-usb.c2
-rw-r--r--arch/arm/mach-s3c64xx/common.c2
-rw-r--r--arch/arm/mach-s3c64xx/crag6410.h2
-rw-r--r--arch/arm/mach-s3c64xx/dev-audio.c2
-rw-r--r--arch/arm/mach-s3c64xx/include/mach/gpio-samsung.h94
-rw-r--r--arch/arm/mach-s3c64xx/mach-anw6410.c2
-rw-r--r--arch/arm/mach-s3c64xx/mach-crag6410.c3
-rw-r--r--arch/arm/mach-s3c64xx/mach-hmt.c2
-rw-r--r--arch/arm/mach-s3c64xx/mach-mini6410.c2
-rw-r--r--arch/arm/mach-s3c64xx/mach-real6410.c2
-rw-r--r--arch/arm/mach-s3c64xx/mach-smartq.c2
-rw-r--r--arch/arm/mach-s3c64xx/mach-smartq5.c2
-rw-r--r--arch/arm/mach-s3c64xx/mach-smartq7.c2
-rw-r--r--arch/arm/mach-s3c64xx/mach-smdk6400.c2
-rw-r--r--arch/arm/mach-s3c64xx/mach-smdk6410.c2
-rw-r--r--arch/arm/mach-s3c64xx/pm.c2
-rw-r--r--arch/arm/mach-s3c64xx/setup-fb-24bpp.c2
-rw-r--r--arch/arm/mach-s3c64xx/setup-i2c0.c2
-rw-r--r--arch/arm/mach-s3c64xx/setup-i2c1.c2
-rw-r--r--arch/arm/mach-s3c64xx/setup-ide.c2
-rw-r--r--arch/arm/mach-s3c64xx/setup-keypad.c2
-rw-r--r--arch/arm/mach-s3c64xx/setup-sdhci-gpio.c2
-rw-r--r--arch/arm/mach-s3c64xx/setup-spi.c2
-rw-r--r--arch/arm/plat-samsung/pm-gpio.c7
-rw-r--r--arch/arm/plat-samsung/setup-camif.c2
56 files changed, 254 insertions, 60 deletions
diff --git a/arch/arm/mach-s3c24xx/common-smdk.c b/arch/arm/mach-s3c24xx/common-smdk.c
index 0a84a9c9f429..e9fbcc91c5c0 100644
--- a/arch/arm/mach-s3c24xx/common-smdk.c
+++ b/arch/arm/mach-s3c24xx/common-smdk.c
@@ -37,8 +37,8 @@
37#include <asm/irq.h> 37#include <asm/irq.h>
38 38
39#include <mach/regs-gpio.h> 39#include <mach/regs-gpio.h>
40#include <mach/gpio-samsung.h>
40#include <linux/platform_data/leds-s3c24xx.h> 41#include <linux/platform_data/leds-s3c24xx.h>
41#include <linux/platform_data/gpio-samsung-s3c24xx.h>
42#include <linux/platform_data/mtd-nand-s3c2410.h> 42#include <linux/platform_data/mtd-nand-s3c2410.h>
43 43
44#include <plat/gpio-cfg.h> 44#include <plat/gpio-cfg.h>
diff --git a/arch/arm/mach-s3c24xx/h1940-bluetooth.c b/arch/arm/mach-s3c24xx/h1940-bluetooth.c
index f2b859f4c894..ff3afc163178 100644
--- a/arch/arm/mach-s3c24xx/h1940-bluetooth.c
+++ b/arch/arm/mach-s3c24xx/h1940-bluetooth.c
@@ -18,10 +18,10 @@
18#include <linux/leds.h> 18#include <linux/leds.h>
19#include <linux/gpio.h> 19#include <linux/gpio.h>
20#include <linux/rfkill.h> 20#include <linux/rfkill.h>
21#include <linux/platform_data/gpio-samsung-s3c24xx.h>
22 21
23#include <mach/hardware.h> 22#include <mach/hardware.h>
24#include <mach/regs-gpio.h> 23#include <mach/regs-gpio.h>
24#include <mach/gpio-samsung.h>
25 25
26#include "h1940.h" 26#include "h1940.h"
27 27
diff --git a/arch/arm/mach-s3c24xx/include/mach/gpio-samsung.h b/arch/arm/mach-s3c24xx/include/mach/gpio-samsung.h
new file mode 100644
index 000000000000..79b3a0e44955
--- /dev/null
+++ b/arch/arm/mach-s3c24xx/include/mach/gpio-samsung.h
@@ -0,0 +1,106 @@
1/*
2 * Copyright (c) 2008 Simtec Electronics
3 * http://armlinux.simtec.co.uk/
4 * Ben Dooks <ben@simtec.co.uk>
5 *
6 * S3C2410 - GPIO lib support
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation.
11*/
12
13/* some boards require extra gpio capacity to support external
14 * devices that need GPIO.
15 */
16
17#ifndef GPIO_SAMSUNG_S3C24XX_H
18#define GPIO_SAMSUNG_S3C24XX_H
19
20/*
21 * GPIO sizes for various SoCs:
22 *
23 * 2410 2412 2440 2443 2416
24 * 2442
25 * ---- ---- ---- ---- ----
26 * A 23 22 25 16 27
27 * B 11 11 11 11 11
28 * C 16 16 16 16 16
29 * D 16 16 16 16 16
30 * E 16 16 16 16 16
31 * F 8 8 8 8 8
32 * G 16 16 16 16 8
33 * H 11 11 11 15 15
34 * J -- -- 13 16 --
35 * K -- -- -- -- 16
36 * L -- -- -- 15 14
37 * M -- -- -- 2 2
38 */
39
40/* GPIO bank sizes */
41
42#define S3C2410_GPIO_A_NR (32)
43#define S3C2410_GPIO_B_NR (32)
44#define S3C2410_GPIO_C_NR (32)
45#define S3C2410_GPIO_D_NR (32)
46#define S3C2410_GPIO_E_NR (32)
47#define S3C2410_GPIO_F_NR (32)
48#define S3C2410_GPIO_G_NR (32)
49#define S3C2410_GPIO_H_NR (32)
50#define S3C2410_GPIO_J_NR (32) /* technically 16. */
51#define S3C2410_GPIO_K_NR (32) /* technically 16. */
52#define S3C2410_GPIO_L_NR (32) /* technically 15. */
53#define S3C2410_GPIO_M_NR (32) /* technically 2. */
54
55#if CONFIG_S3C_GPIO_SPACE != 0
56#error CONFIG_S3C_GPIO_SPACE cannot be nonzero at the moment
57#endif
58
59#define S3C2410_GPIO_NEXT(__gpio) \
60 ((__gpio##_START) + (__gpio##_NR) + CONFIG_S3C_GPIO_SPACE + 0)
61
62#ifndef __ASSEMBLY__
63
64enum s3c_gpio_number {
65 S3C2410_GPIO_A_START = 0,
66 S3C2410_GPIO_B_START = S3C2410_GPIO_NEXT(S3C2410_GPIO_A),
67 S3C2410_GPIO_C_START = S3C2410_GPIO_NEXT(S3C2410_GPIO_B),
68 S3C2410_GPIO_D_START = S3C2410_GPIO_NEXT(S3C2410_GPIO_C),
69 S3C2410_GPIO_E_START = S3C2410_GPIO_NEXT(S3C2410_GPIO_D),
70 S3C2410_GPIO_F_START = S3C2410_GPIO_NEXT(S3C2410_GPIO_E),
71 S3C2410_GPIO_G_START = S3C2410_GPIO_NEXT(S3C2410_GPIO_F),
72 S3C2410_GPIO_H_START = S3C2410_GPIO_NEXT(S3C2410_GPIO_G),
73 S3C2410_GPIO_J_START = S3C2410_GPIO_NEXT(S3C2410_GPIO_H),
74 S3C2410_GPIO_K_START = S3C2410_GPIO_NEXT(S3C2410_GPIO_J),
75 S3C2410_GPIO_L_START = S3C2410_GPIO_NEXT(S3C2410_GPIO_K),
76 S3C2410_GPIO_M_START = S3C2410_GPIO_NEXT(S3C2410_GPIO_L),
77};
78
79#endif /* __ASSEMBLY__ */
80
81/* S3C2410 GPIO number definitions. */
82
83#define S3C2410_GPA(_nr) (S3C2410_GPIO_A_START + (_nr))
84#define S3C2410_GPB(_nr) (S3C2410_GPIO_B_START + (_nr))
85#define S3C2410_GPC(_nr) (S3C2410_GPIO_C_START + (_nr))
86#define S3C2410_GPD(_nr) (S3C2410_GPIO_D_START + (_nr))
87#define S3C2410_GPE(_nr) (S3C2410_GPIO_E_START + (_nr))
88#define S3C2410_GPF(_nr) (S3C2410_GPIO_F_START + (_nr))
89#define S3C2410_GPG(_nr) (S3C2410_GPIO_G_START + (_nr))
90#define S3C2410_GPH(_nr) (S3C2410_GPIO_H_START + (_nr))
91#define S3C2410_GPJ(_nr) (S3C2410_GPIO_J_START + (_nr))
92#define S3C2410_GPK(_nr) (S3C2410_GPIO_K_START + (_nr))
93#define S3C2410_GPL(_nr) (S3C2410_GPIO_L_START + (_nr))
94#define S3C2410_GPM(_nr) (S3C2410_GPIO_M_START + (_nr))
95
96#include <plat/gpio-cfg.h>
97
98#ifdef CONFIG_CPU_S3C244X
99#define S3C_GPIO_END (S3C2410_GPJ(0) + 32)
100#elif defined(CONFIG_CPU_S3C2443) || defined(CONFIG_CPU_S3C2416)
101#define S3C_GPIO_END (S3C2410_GPM(0) + 32)
102#else
103#define S3C_GPIO_END (S3C2410_GPH(0) + 32)
104#endif
105
106#endif /* GPIO_SAMSUNG_S3C24XX_H */
diff --git a/arch/arm/mach-s3c24xx/mach-amlm5900.c b/arch/arm/mach-s3c24xx/mach-amlm5900.c
index 530e9a624466..284ea1f44205 100644
--- a/arch/arm/mach-s3c24xx/mach-amlm5900.c
+++ b/arch/arm/mach-s3c24xx/mach-amlm5900.c
@@ -52,9 +52,9 @@
52#include <plat/regs-serial.h> 52#include <plat/regs-serial.h>
53#include <mach/regs-lcd.h> 53#include <mach/regs-lcd.h>
54#include <mach/regs-gpio.h> 54#include <mach/regs-gpio.h>
55#include <mach/gpio-samsung.h>
55 56
56#include <linux/platform_data/i2c-s3c2410.h> 57#include <linux/platform_data/i2c-s3c2410.h>
57#include <linux/platform_data/gpio-samsung-s3c24xx.h>
58#include <plat/devs.h> 58#include <plat/devs.h>
59#include <plat/cpu.h> 59#include <plat/cpu.h>
60#include <plat/gpio-cfg.h> 60#include <plat/gpio-cfg.h>
diff --git a/arch/arm/mach-s3c24xx/mach-anubis.c b/arch/arm/mach-s3c24xx/mach-anubis.c
index b60a248c033a..2a16f8fb3584 100644
--- a/arch/arm/mach-s3c24xx/mach-anubis.c
+++ b/arch/arm/mach-s3c24xx/mach-anubis.c
@@ -35,9 +35,9 @@
35#include <plat/regs-serial.h> 35#include <plat/regs-serial.h>
36#include <mach/regs-gpio.h> 36#include <mach/regs-gpio.h>
37#include <mach/regs-lcd.h> 37#include <mach/regs-lcd.h>
38#include <mach/gpio-samsung.h>
38#include <linux/platform_data/mtd-nand-s3c2410.h> 39#include <linux/platform_data/mtd-nand-s3c2410.h>
39#include <linux/platform_data/i2c-s3c2410.h> 40#include <linux/platform_data/i2c-s3c2410.h>
40#include <linux/platform_data/gpio-samsung-s3c24xx.h>
41 41
42#include <linux/mtd/mtd.h> 42#include <linux/mtd/mtd.h>
43#include <linux/mtd/nand.h> 43#include <linux/mtd/nand.h>
diff --git a/arch/arm/mach-s3c24xx/mach-at2440evb.c b/arch/arm/mach-s3c24xx/mach-at2440evb.c
index 74401196b429..6beab674c147 100644
--- a/arch/arm/mach-s3c24xx/mach-at2440evb.c
+++ b/arch/arm/mach-s3c24xx/mach-at2440evb.c
@@ -36,9 +36,9 @@
36#include <plat/regs-serial.h> 36#include <plat/regs-serial.h>
37#include <mach/regs-gpio.h> 37#include <mach/regs-gpio.h>
38#include <mach/regs-lcd.h> 38#include <mach/regs-lcd.h>
39#include <mach/gpio-samsung.h>
39#include <linux/platform_data/mtd-nand-s3c2410.h> 40#include <linux/platform_data/mtd-nand-s3c2410.h>
40#include <linux/platform_data/i2c-s3c2410.h> 41#include <linux/platform_data/i2c-s3c2410.h>
41#include <linux/platform_data/gpio-samsung-s3c24xx.h>
42 42
43#include <linux/mtd/mtd.h> 43#include <linux/mtd/mtd.h>
44#include <linux/mtd/nand.h> 44#include <linux/mtd/nand.h>
diff --git a/arch/arm/mach-s3c24xx/mach-bast.c b/arch/arm/mach-s3c24xx/mach-bast.c
index 47fe7af87129..981ba1eb9fdc 100644
--- a/arch/arm/mach-s3c24xx/mach-bast.c
+++ b/arch/arm/mach-s3c24xx/mach-bast.c
@@ -35,7 +35,6 @@
35#include <linux/platform_data/hwmon-s3c.h> 35#include <linux/platform_data/hwmon-s3c.h>
36#include <linux/platform_data/i2c-s3c2410.h> 36#include <linux/platform_data/i2c-s3c2410.h>
37#include <linux/platform_data/mtd-nand-s3c2410.h> 37#include <linux/platform_data/mtd-nand-s3c2410.h>
38#include <linux/platform_data/gpio-samsung-s3c24xx.h>
39 38
40#include <net/ax88796.h> 39#include <net/ax88796.h>
41 40
@@ -49,6 +48,7 @@
49#include <mach/hardware.h> 48#include <mach/hardware.h>
50#include <mach/regs-gpio.h> 49#include <mach/regs-gpio.h>
51#include <mach/regs-lcd.h> 50#include <mach/regs-lcd.h>
51#include <mach/gpio-samsung.h>
52 52
53#include <plat/clock.h> 53#include <plat/clock.h>
54#include <plat/cpu.h> 54#include <plat/cpu.h>
diff --git a/arch/arm/mach-s3c24xx/mach-gta02.c b/arch/arm/mach-s3c24xx/mach-gta02.c
index c2c2ac78cea8..d9170e9f8ccd 100644
--- a/arch/arm/mach-s3c24xx/mach-gta02.c
+++ b/arch/arm/mach-s3c24xx/mach-gta02.c
@@ -70,12 +70,12 @@
70#include <linux/platform_data/touchscreen-s3c2410.h> 70#include <linux/platform_data/touchscreen-s3c2410.h>
71#include <linux/platform_data/usb-ohci-s3c2410.h> 71#include <linux/platform_data/usb-ohci-s3c2410.h>
72#include <linux/platform_data/usb-s3c2410_udc.h> 72#include <linux/platform_data/usb-s3c2410_udc.h>
73#include <linux/platform_data/gpio-samsung-s3c24xx.h>
74 73
75#include <mach/fb.h> 74#include <mach/fb.h>
76#include <mach/hardware.h> 75#include <mach/hardware.h>
77#include <mach/regs-gpio.h> 76#include <mach/regs-gpio.h>
78#include <mach/regs-irq.h> 77#include <mach/regs-irq.h>
78#include <mach/gpio-samsung.h>
79 79
80#include <plat/cpu.h> 80#include <plat/cpu.h>
81#include <plat/devs.h> 81#include <plat/devs.h>
diff --git a/arch/arm/mach-s3c24xx/mach-h1940.c b/arch/arm/mach-s3c24xx/mach-h1940.c
index d25d8b18512c..de0832181d8c 100644
--- a/arch/arm/mach-s3c24xx/mach-h1940.c
+++ b/arch/arm/mach-s3c24xx/mach-h1940.c
@@ -46,7 +46,6 @@
46#include <linux/platform_data/mmc-s3cmci.h> 46#include <linux/platform_data/mmc-s3cmci.h>
47#include <linux/platform_data/touchscreen-s3c2410.h> 47#include <linux/platform_data/touchscreen-s3c2410.h>
48#include <linux/platform_data/usb-s3c2410_udc.h> 48#include <linux/platform_data/usb-s3c2410_udc.h>
49#include <linux/platform_data/gpio-samsung-s3c24xx.h>
50 49
51#include <sound/uda1380.h> 50#include <sound/uda1380.h>
52 51
@@ -55,6 +54,7 @@
55#include <mach/regs-clock.h> 54#include <mach/regs-clock.h>
56#include <mach/regs-gpio.h> 55#include <mach/regs-gpio.h>
57#include <mach/regs-lcd.h> 56#include <mach/regs-lcd.h>
57#include <mach/gpio-samsung.h>
58 58
59#include <plat/clock.h> 59#include <plat/clock.h>
60#include <plat/cpu.h> 60#include <plat/cpu.h>
diff --git a/arch/arm/mach-s3c24xx/mach-jive.c b/arch/arm/mach-s3c24xx/mach-jive.c
index 434dbf231773..67cb8e948b7e 100644
--- a/arch/arm/mach-s3c24xx/mach-jive.c
+++ b/arch/arm/mach-s3c24xx/mach-jive.c
@@ -34,11 +34,11 @@
34#include <plat/regs-serial.h> 34#include <plat/regs-serial.h>
35#include <linux/platform_data/mtd-nand-s3c2410.h> 35#include <linux/platform_data/mtd-nand-s3c2410.h>
36#include <linux/platform_data/i2c-s3c2410.h> 36#include <linux/platform_data/i2c-s3c2410.h>
37#include <linux/platform_data/gpio-samsung-s3c24xx.h>
38 37
39#include <mach/regs-gpio.h> 38#include <mach/regs-gpio.h>
40#include <mach/regs-lcd.h> 39#include <mach/regs-lcd.h>
41#include <mach/fb.h> 40#include <mach/fb.h>
41#include <mach/gpio-samsung.h>
42 42
43#include <asm/mach-types.h> 43#include <asm/mach-types.h>
44 44
diff --git a/arch/arm/mach-s3c24xx/mach-mini2440.c b/arch/arm/mach-s3c24xx/mach-mini2440.c
index 48af11fc15fd..1f1559713d8b 100644
--- a/arch/arm/mach-s3c24xx/mach-mini2440.c
+++ b/arch/arm/mach-s3c24xx/mach-mini2440.c
@@ -42,11 +42,11 @@
42#include <linux/platform_data/leds-s3c24xx.h> 42#include <linux/platform_data/leds-s3c24xx.h>
43#include <mach/regs-lcd.h> 43#include <mach/regs-lcd.h>
44#include <mach/irqs.h> 44#include <mach/irqs.h>
45#include <mach/gpio-samsung.h>
45#include <linux/platform_data/mtd-nand-s3c2410.h> 46#include <linux/platform_data/mtd-nand-s3c2410.h>
46#include <linux/platform_data/i2c-s3c2410.h> 47#include <linux/platform_data/i2c-s3c2410.h>
47#include <linux/platform_data/mmc-s3cmci.h> 48#include <linux/platform_data/mmc-s3cmci.h>
48#include <linux/platform_data/usb-s3c2410_udc.h> 49#include <linux/platform_data/usb-s3c2410_udc.h>
49#include <linux/platform_data/gpio-samsung-s3c24xx.h>
50 50
51#include <linux/mtd/mtd.h> 51#include <linux/mtd/mtd.h>
52#include <linux/mtd/nand.h> 52#include <linux/mtd/nand.h>
diff --git a/arch/arm/mach-s3c24xx/mach-n30.c b/arch/arm/mach-s3c24xx/mach-n30.c
index 7fcb887f5289..997684f17930 100644
--- a/arch/arm/mach-s3c24xx/mach-n30.c
+++ b/arch/arm/mach-s3c24xx/mach-n30.c
@@ -36,13 +36,13 @@
36#include <linux/platform_data/leds-s3c24xx.h> 36#include <linux/platform_data/leds-s3c24xx.h>
37#include <mach/regs-gpio.h> 37#include <mach/regs-gpio.h>
38#include <mach/regs-lcd.h> 38#include <mach/regs-lcd.h>
39#include <mach/gpio-samsung.h>
39 40
40#include <asm/mach/arch.h> 41#include <asm/mach/arch.h>
41#include <asm/mach/irq.h> 42#include <asm/mach/irq.h>
42#include <asm/mach/map.h> 43#include <asm/mach/map.h>
43 44
44#include <linux/platform_data/i2c-s3c2410.h> 45#include <linux/platform_data/i2c-s3c2410.h>
45#include <linux/platform_data/gpio-samsung-s3c24xx.h>
46#include <plat/regs-serial.h> 46#include <plat/regs-serial.h>
47 47
48#include <plat/clock.h> 48#include <plat/clock.h>
diff --git a/arch/arm/mach-s3c24xx/mach-nexcoder.c b/arch/arm/mach-s3c24xx/mach-nexcoder.c
index 0f27ac44db09..575d28c9e6c6 100644
--- a/arch/arm/mach-s3c24xx/mach-nexcoder.c
+++ b/arch/arm/mach-s3c24xx/mach-nexcoder.c
@@ -37,9 +37,9 @@
37 37
38//#include <asm/debug-ll.h> 38//#include <asm/debug-ll.h>
39#include <mach/regs-gpio.h> 39#include <mach/regs-gpio.h>
40#include <mach/gpio-samsung.h>
40#include <plat/regs-serial.h> 41#include <plat/regs-serial.h>
41#include <linux/platform_data/i2c-s3c2410.h> 42#include <linux/platform_data/i2c-s3c2410.h>
42#include <linux/platform_data/gpio-samsung-s3c24xx.h>
43 43
44#include <plat/gpio-cfg.h> 44#include <plat/gpio-cfg.h>
45#include <plat/clock.h> 45#include <plat/clock.h>
diff --git a/arch/arm/mach-s3c24xx/mach-osiris-dvs.c b/arch/arm/mach-s3c24xx/mach-osiris-dvs.c
index 5b8af46c0d6b..33afb9190091 100644
--- a/arch/arm/mach-s3c24xx/mach-osiris-dvs.c
+++ b/arch/arm/mach-s3c24xx/mach-osiris-dvs.c
@@ -16,11 +16,11 @@
16#include <linux/platform_device.h> 16#include <linux/platform_device.h>
17#include <linux/cpufreq.h> 17#include <linux/cpufreq.h>
18#include <linux/gpio.h> 18#include <linux/gpio.h>
19#include <linux/platform_data/gpio-samsung-s3c24xx.h>
20 19
21#include <linux/i2c/tps65010.h> 20#include <linux/i2c/tps65010.h>
22 21
23#include <plat/cpu-freq.h> 22#include <plat/cpu-freq.h>
23#include <mach/gpio-samsung.h>
24 24
25#define OSIRIS_GPIO_DVS S3C2410_GPB(5) 25#define OSIRIS_GPIO_DVS S3C2410_GPB(5)
26 26
diff --git a/arch/arm/mach-s3c24xx/mach-osiris.c b/arch/arm/mach-s3c24xx/mach-osiris.c
index 040b16aff93d..f84f2a4c0c6d 100644
--- a/arch/arm/mach-s3c24xx/mach-osiris.c
+++ b/arch/arm/mach-s3c24xx/mach-osiris.c
@@ -33,7 +33,6 @@
33 33
34#include <linux/platform_data/mtd-nand-s3c2410.h> 34#include <linux/platform_data/mtd-nand-s3c2410.h>
35#include <linux/platform_data/i2c-s3c2410.h> 35#include <linux/platform_data/i2c-s3c2410.h>
36#include <linux/platform_data/gpio-samsung-s3c24xx.h>
37 36
38#include <linux/mtd/mtd.h> 37#include <linux/mtd/mtd.h>
39#include <linux/mtd/nand.h> 38#include <linux/mtd/nand.h>
@@ -51,6 +50,7 @@
51#include <mach/hardware.h> 50#include <mach/hardware.h>
52#include <mach/regs-gpio.h> 51#include <mach/regs-gpio.h>
53#include <mach/regs-lcd.h> 52#include <mach/regs-lcd.h>
53#include <mach/gpio-samsung.h>
54 54
55#include "common.h" 55#include "common.h"
56#include "osiris.h" 56#include "osiris.h"
diff --git a/arch/arm/mach-s3c24xx/mach-qt2410.c b/arch/arm/mach-s3c24xx/mach-qt2410.c
index 96c3bc858710..b534b76812e3 100644
--- a/arch/arm/mach-s3c24xx/mach-qt2410.c
+++ b/arch/arm/mach-s3c24xx/mach-qt2410.c
@@ -54,7 +54,7 @@
54#include <linux/platform_data/mtd-nand-s3c2410.h> 54#include <linux/platform_data/mtd-nand-s3c2410.h>
55#include <linux/platform_data/usb-s3c2410_udc.h> 55#include <linux/platform_data/usb-s3c2410_udc.h>
56#include <linux/platform_data/i2c-s3c2410.h> 56#include <linux/platform_data/i2c-s3c2410.h>
57#include <linux/platform_data/gpio-samsung-s3c24xx.h> 57#include <mach/gpio-samsung.h>
58 58
59#include <plat/gpio-cfg.h> 59#include <plat/gpio-cfg.h>
60#include <plat/devs.h> 60#include <plat/devs.h>
diff --git a/arch/arm/mach-s3c24xx/mach-rx1950.c b/arch/arm/mach-s3c24xx/mach-rx1950.c
index d492fb938bbb..345d01aa3524 100644
--- a/arch/arm/mach-s3c24xx/mach-rx1950.c
+++ b/arch/arm/mach-s3c24xx/mach-rx1950.c
@@ -45,13 +45,13 @@
45#include <linux/platform_data/mtd-nand-s3c2410.h> 45#include <linux/platform_data/mtd-nand-s3c2410.h>
46#include <linux/platform_data/touchscreen-s3c2410.h> 46#include <linux/platform_data/touchscreen-s3c2410.h>
47#include <linux/platform_data/usb-s3c2410_udc.h> 47#include <linux/platform_data/usb-s3c2410_udc.h>
48#include <linux/platform_data/gpio-samsung-s3c24xx.h>
49 48
50#include <sound/uda1380.h> 49#include <sound/uda1380.h>
51 50
52#include <mach/fb.h> 51#include <mach/fb.h>
53#include <mach/regs-gpio.h> 52#include <mach/regs-gpio.h>
54#include <mach/regs-lcd.h> 53#include <mach/regs-lcd.h>
54#include <mach/gpio-samsung.h>
55 55
56#include <plat/clock.h> 56#include <plat/clock.h>
57#include <plat/cpu.h> 57#include <plat/cpu.h>
diff --git a/arch/arm/mach-s3c24xx/mach-rx3715.c b/arch/arm/mach-s3c24xx/mach-rx3715.c
index 319ed8033475..b36edce8b2b8 100644
--- a/arch/arm/mach-s3c24xx/mach-rx3715.c
+++ b/arch/arm/mach-s3c24xx/mach-rx3715.c
@@ -35,7 +35,6 @@
35#include <asm/mach/map.h> 35#include <asm/mach/map.h>
36 36
37#include <linux/platform_data/mtd-nand-s3c2410.h> 37#include <linux/platform_data/mtd-nand-s3c2410.h>
38#include <linux/platform_data/gpio-samsung-s3c24xx.h>
39 38
40#include <asm/irq.h> 39#include <asm/irq.h>
41#include <asm/mach-types.h> 40#include <asm/mach-types.h>
@@ -44,6 +43,7 @@
44#include <mach/hardware.h> 43#include <mach/hardware.h>
45#include <mach/regs-gpio.h> 44#include <mach/regs-gpio.h>
46#include <mach/regs-lcd.h> 45#include <mach/regs-lcd.h>
46#include <mach/gpio-samsung.h>
47 47
48#include <plat/clock.h> 48#include <plat/clock.h>
49#include <plat/cpu.h> 49#include <plat/cpu.h>
diff --git a/arch/arm/mach-s3c24xx/mach-smdk2413.c b/arch/arm/mach-s3c24xx/mach-smdk2413.c
index 86e25012b0c1..f5bc721217e3 100644
--- a/arch/arm/mach-s3c24xx/mach-smdk2413.c
+++ b/arch/arm/mach-s3c24xx/mach-smdk2413.c
@@ -39,7 +39,7 @@
39 39
40#include <linux/platform_data/usb-s3c2410_udc.h> 40#include <linux/platform_data/usb-s3c2410_udc.h>
41#include <linux/platform_data/i2c-s3c2410.h> 41#include <linux/platform_data/i2c-s3c2410.h>
42#include <linux/platform_data/gpio-samsung-s3c24xx.h> 42#include <mach/gpio-samsung.h>
43#include <mach/fb.h> 43#include <mach/fb.h>
44 44
45#include <plat/clock.h> 45#include <plat/clock.h>
diff --git a/arch/arm/mach-s3c24xx/mach-smdk2416.c b/arch/arm/mach-s3c24xx/mach-smdk2416.c
index 0cc691d01d60..12023cae4378 100644
--- a/arch/arm/mach-s3c24xx/mach-smdk2416.c
+++ b/arch/arm/mach-s3c24xx/mach-smdk2416.c
@@ -38,10 +38,10 @@
38#include <mach/regs-gpio.h> 38#include <mach/regs-gpio.h>
39#include <mach/regs-lcd.h> 39#include <mach/regs-lcd.h>
40#include <mach/regs-s3c2443-clock.h> 40#include <mach/regs-s3c2443-clock.h>
41#include <mach/gpio-samsung.h>
41 42
42#include <linux/platform_data/leds-s3c24xx.h> 43#include <linux/platform_data/leds-s3c24xx.h>
43#include <linux/platform_data/i2c-s3c2410.h> 44#include <linux/platform_data/i2c-s3c2410.h>
44#include <linux/platform_data/gpio-samsung-s3c24xx.h>
45 45
46#include <plat/gpio-cfg.h> 46#include <plat/gpio-cfg.h>
47#include <plat/clock.h> 47#include <plat/clock.h>
diff --git a/arch/arm/mach-s3c24xx/mach-vr1000.c b/arch/arm/mach-s3c24xx/mach-vr1000.c
index 86e7ffdca33f..755df489a45f 100644
--- a/arch/arm/mach-s3c24xx/mach-vr1000.c
+++ b/arch/arm/mach-s3c24xx/mach-vr1000.c
@@ -37,10 +37,10 @@
37#include <linux/platform_data/leds-s3c24xx.h> 37#include <linux/platform_data/leds-s3c24xx.h>
38#include <linux/platform_data/i2c-s3c2410.h> 38#include <linux/platform_data/i2c-s3c2410.h>
39#include <linux/platform_data/asoc-s3c24xx_simtec.h> 39#include <linux/platform_data/asoc-s3c24xx_simtec.h>
40#include <linux/platform_data/gpio-samsung-s3c24xx.h>
41 40
42#include <mach/hardware.h> 41#include <mach/hardware.h>
43#include <mach/regs-gpio.h> 42#include <mach/regs-gpio.h>
43#include <mach/gpio-samsung.h>
44 44
45#include <plat/clock.h> 45#include <plat/clock.h>
46#include <plat/cpu.h> 46#include <plat/cpu.h>
diff --git a/arch/arm/mach-s3c24xx/pm-s3c2410.c b/arch/arm/mach-s3c24xx/pm-s3c2410.c
index e4cd56e8b90b..509b20b4ab3b 100644
--- a/arch/arm/mach-s3c24xx/pm-s3c2410.c
+++ b/arch/arm/mach-s3c24xx/pm-s3c2410.c
@@ -28,12 +28,12 @@
28#include <linux/syscore_ops.h> 28#include <linux/syscore_ops.h>
29#include <linux/gpio.h> 29#include <linux/gpio.h>
30#include <linux/io.h> 30#include <linux/io.h>
31#include <linux/platform_data/gpio-samsung-s3c24xx.h>
32 31
33#include <asm/mach-types.h> 32#include <asm/mach-types.h>
34 33
35#include <mach/hardware.h> 34#include <mach/hardware.h>
36#include <mach/regs-gpio.h> 35#include <mach/regs-gpio.h>
36#include <mach/gpio-samsung.h>
37 37
38#include <plat/cpu.h> 38#include <plat/cpu.h>
39#include <plat/pm.h> 39#include <plat/pm.h>
diff --git a/arch/arm/mach-s3c24xx/pm.c b/arch/arm/mach-s3c24xx/pm.c
index 2baa887b28d2..052ca23393a7 100644
--- a/arch/arm/mach-s3c24xx/pm.c
+++ b/arch/arm/mach-s3c24xx/pm.c
@@ -34,12 +34,12 @@
34#include <linux/interrupt.h> 34#include <linux/interrupt.h>
35#include <linux/serial_core.h> 35#include <linux/serial_core.h>
36#include <linux/io.h> 36#include <linux/io.h>
37#include <linux/platform_data/gpio-samsung-s3c24xx.h>
38 37
39#include <plat/regs-serial.h> 38#include <plat/regs-serial.h>
40#include <mach/regs-clock.h> 39#include <mach/regs-clock.h>
41#include <mach/regs-gpio.h> 40#include <mach/regs-gpio.h>
42#include <mach/regs-irq.h> 41#include <mach/regs-irq.h>
42#include <mach/gpio-samsung.h>
43 43
44#include <asm/mach/time.h> 44#include <asm/mach/time.h>
45 45
diff --git a/arch/arm/mach-s3c24xx/s3c2410.c b/arch/arm/mach-s3c24xx/s3c2410.c
index db22f748ce8d..ffb92cbca08c 100644
--- a/arch/arm/mach-s3c24xx/s3c2410.c
+++ b/arch/arm/mach-s3c24xx/s3c2410.c
@@ -24,13 +24,13 @@
24#include <linux/platform_device.h> 24#include <linux/platform_device.h>
25#include <linux/reboot.h> 25#include <linux/reboot.h>
26#include <linux/io.h> 26#include <linux/io.h>
27#include <linux/platform_data/gpio-samsung-s3c24xx.h>
28 27
29#include <asm/mach/arch.h> 28#include <asm/mach/arch.h>
30#include <asm/mach/map.h> 29#include <asm/mach/map.h>
31#include <asm/mach/irq.h> 30#include <asm/mach/irq.h>
32 31
33#include <mach/hardware.h> 32#include <mach/hardware.h>
33#include <mach/gpio-samsung.h>
34#include <asm/irq.h> 34#include <asm/irq.h>
35#include <asm/system_misc.h> 35#include <asm/system_misc.h>
36 36
diff --git a/arch/arm/mach-s3c24xx/s3c2416.c b/arch/arm/mach-s3c24xx/s3c2416.c
index cb77880029f7..8e01b4f2df35 100644
--- a/arch/arm/mach-s3c24xx/s3c2416.c
+++ b/arch/arm/mach-s3c24xx/s3c2416.c
@@ -36,13 +36,13 @@
36#include <linux/clk.h> 36#include <linux/clk.h>
37#include <linux/io.h> 37#include <linux/io.h>
38#include <linux/reboot.h> 38#include <linux/reboot.h>
39#include <linux/platform_data/gpio-samsung-s3c24xx.h>
40 39
41#include <asm/mach/arch.h> 40#include <asm/mach/arch.h>
42#include <asm/mach/map.h> 41#include <asm/mach/map.h>
43#include <asm/mach/irq.h> 42#include <asm/mach/irq.h>
44 43
45#include <mach/hardware.h> 44#include <mach/hardware.h>
45#include <mach/gpio-samsung.h>
46#include <asm/proc-fns.h> 46#include <asm/proc-fns.h>
47#include <asm/irq.h> 47#include <asm/irq.h>
48#include <asm/system_misc.h> 48#include <asm/system_misc.h>
diff --git a/arch/arm/mach-s3c24xx/s3c2440.c b/arch/arm/mach-s3c24xx/s3c2440.c
index 22e5dbdcbe8d..03d379f1fc52 100644
--- a/arch/arm/mach-s3c24xx/s3c2440.c
+++ b/arch/arm/mach-s3c24xx/s3c2440.c
@@ -23,13 +23,13 @@
23#include <linux/gpio.h> 23#include <linux/gpio.h>
24#include <linux/clk.h> 24#include <linux/clk.h>
25#include <linux/io.h> 25#include <linux/io.h>
26#include <linux/platform_data/gpio-samsung-s3c24xx.h>
27 26
28#include <asm/mach/arch.h> 27#include <asm/mach/arch.h>
29#include <asm/mach/map.h> 28#include <asm/mach/map.h>
30#include <asm/mach/irq.h> 29#include <asm/mach/irq.h>
31 30
32#include <mach/hardware.h> 31#include <mach/hardware.h>
32#include <mach/gpio-samsung.h>
33#include <asm/irq.h> 33#include <asm/irq.h>
34 34
35#include <plat/devs.h> 35#include <plat/devs.h>
diff --git a/arch/arm/mach-s3c24xx/s3c2442.c b/arch/arm/mach-s3c24xx/s3c2442.c
index 4ba093b4e495..2c8adc028538 100644
--- a/arch/arm/mach-s3c24xx/s3c2442.c
+++ b/arch/arm/mach-s3c24xx/s3c2442.c
@@ -35,9 +35,9 @@
35#include <linux/gpio.h> 35#include <linux/gpio.h>
36#include <linux/clk.h> 36#include <linux/clk.h>
37#include <linux/io.h> 37#include <linux/io.h>
38#include <linux/platform_data/gpio-samsung-s3c24xx.h>
39 38
40#include <mach/hardware.h> 39#include <mach/hardware.h>
40#include <mach/gpio-samsung.h>
41#include <linux/atomic.h> 41#include <linux/atomic.h>
42#include <asm/irq.h> 42#include <asm/irq.h>
43 43
diff --git a/arch/arm/mach-s3c24xx/s3c2443.c b/arch/arm/mach-s3c24xx/s3c2443.c
index faa1086924c4..886c2147062b 100644
--- a/arch/arm/mach-s3c24xx/s3c2443.c
+++ b/arch/arm/mach-s3c24xx/s3c2443.c
@@ -23,13 +23,13 @@
23#include <linux/clk.h> 23#include <linux/clk.h>
24#include <linux/io.h> 24#include <linux/io.h>
25#include <linux/reboot.h> 25#include <linux/reboot.h>
26#include <linux/platform_data/gpio-samsung-s3c24xx.h>
27 26
28#include <asm/mach/arch.h> 27#include <asm/mach/arch.h>
29#include <asm/mach/map.h> 28#include <asm/mach/map.h>
30#include <asm/mach/irq.h> 29#include <asm/mach/irq.h>
31 30
32#include <mach/hardware.h> 31#include <mach/hardware.h>
32#include <mach/gpio-samsung.h>
33#include <asm/irq.h> 33#include <asm/irq.h>
34#include <asm/system_misc.h> 34#include <asm/system_misc.h>
35 35
diff --git a/arch/arm/mach-s3c24xx/setup-i2c.c b/arch/arm/mach-s3c24xx/setup-i2c.c
index 3d1fd5ce24e5..1852696ca16e 100644
--- a/arch/arm/mach-s3c24xx/setup-i2c.c
+++ b/arch/arm/mach-s3c24xx/setup-i2c.c
@@ -17,9 +17,9 @@ struct platform_device;
17 17
18#include <plat/gpio-cfg.h> 18#include <plat/gpio-cfg.h>
19#include <linux/platform_data/i2c-s3c2410.h> 19#include <linux/platform_data/i2c-s3c2410.h>
20#include <linux/platform_data/gpio-samsung-s3c24xx.h>
21#include <mach/hardware.h> 20#include <mach/hardware.h>
22#include <mach/regs-gpio.h> 21#include <mach/regs-gpio.h>
22#include <mach/gpio-samsung.h>
23 23
24void s3c_i2c0_cfg_gpio(struct platform_device *dev) 24void s3c_i2c0_cfg_gpio(struct platform_device *dev)
25{ 25{
diff --git a/arch/arm/mach-s3c24xx/setup-sdhci-gpio.c b/arch/arm/mach-s3c24xx/setup-sdhci-gpio.c
index 2835241f732a..c99b0f664db7 100644
--- a/arch/arm/mach-s3c24xx/setup-sdhci-gpio.c
+++ b/arch/arm/mach-s3c24xx/setup-sdhci-gpio.c
@@ -18,9 +18,9 @@
18#include <linux/platform_device.h> 18#include <linux/platform_device.h>
19#include <linux/io.h> 19#include <linux/io.h>
20#include <linux/gpio.h> 20#include <linux/gpio.h>
21#include <linux/platform_data/gpio-samsung-s3c24xx.h>
22 21
23#include <mach/regs-gpio.h> 22#include <mach/regs-gpio.h>
23#include <mach/gpio-samsung.h>
24#include <plat/gpio-cfg.h> 24#include <plat/gpio-cfg.h>
25 25
26void s3c2416_setup_sdhci0_cfg_gpio(struct platform_device *dev, int width) 26void s3c2416_setup_sdhci0_cfg_gpio(struct platform_device *dev, int width)
diff --git a/arch/arm/mach-s3c24xx/setup-ts.c b/arch/arm/mach-s3c24xx/setup-ts.c
index 1ea4056f6fdc..f61f02bdc52f 100644
--- a/arch/arm/mach-s3c24xx/setup-ts.c
+++ b/arch/arm/mach-s3c24xx/setup-ts.c
@@ -12,11 +12,11 @@
12 12
13#include <linux/kernel.h> 13#include <linux/kernel.h>
14#include <linux/gpio.h> 14#include <linux/gpio.h>
15#include <linux/platform_data/gpio-samsung-s3c24xx.h>
16 15
17struct platform_device; /* don't need the contents */ 16struct platform_device; /* don't need the contents */
18 17
19#include <mach/hardware.h> 18#include <mach/hardware.h>
19#include <mach/gpio-samsung.h>
20 20
21/** 21/**
22 * s3c24xx_ts_cfg_gpio - configure gpio for s3c2410 systems 22 * s3c24xx_ts_cfg_gpio - configure gpio for s3c2410 systems
diff --git a/arch/arm/mach-s3c24xx/simtec-usb.c b/arch/arm/mach-s3c24xx/simtec-usb.c
index a007e5f16583..8dea917e954b 100644
--- a/arch/arm/mach-s3c24xx/simtec-usb.c
+++ b/arch/arm/mach-s3c24xx/simtec-usb.c
@@ -29,10 +29,10 @@
29#include <asm/mach/irq.h> 29#include <asm/mach/irq.h>
30 30
31#include <mach/hardware.h> 31#include <mach/hardware.h>
32#include <mach/gpio-samsung.h>
32#include <asm/irq.h> 33#include <asm/irq.h>
33 34
34#include <linux/platform_data/usb-ohci-s3c2410.h> 35#include <linux/platform_data/usb-ohci-s3c2410.h>
35#include <linux/platform_data/gpio-samsung-s3c24xx.h>
36#include <plat/devs.h> 36#include <plat/devs.h>
37 37
38#include "bast.h" 38#include "bast.h"
diff --git a/arch/arm/mach-s3c64xx/common.c b/arch/arm/mach-s3c64xx/common.c
index 64edda37bde3..76ab595d849b 100644
--- a/arch/arm/mach-s3c64xx/common.c
+++ b/arch/arm/mach-s3c64xx/common.c
@@ -32,7 +32,6 @@
32#include <linux/irq.h> 32#include <linux/irq.h>
33#include <linux/gpio.h> 33#include <linux/gpio.h>
34#include <linux/irqchip/arm-vic.h> 34#include <linux/irqchip/arm-vic.h>
35#include <linux/platform_data/gpio-samsung-s3c64xx.h>
36#include <clocksource/samsung_pwm.h> 35#include <clocksource/samsung_pwm.h>
37 36
38#include <asm/mach/arch.h> 37#include <asm/mach/arch.h>
@@ -42,6 +41,7 @@
42#include <mach/map.h> 41#include <mach/map.h>
43#include <mach/hardware.h> 42#include <mach/hardware.h>
44#include <mach/regs-gpio.h> 43#include <mach/regs-gpio.h>
44#include <mach/gpio-samsung.h>
45 45
46#include <plat/cpu.h> 46#include <plat/cpu.h>
47#include <plat/devs.h> 47#include <plat/devs.h>
diff --git a/arch/arm/mach-s3c64xx/crag6410.h b/arch/arm/mach-s3c64xx/crag6410.h
index 9ef20b8fd36f..7bc66682687e 100644
--- a/arch/arm/mach-s3c64xx/crag6410.h
+++ b/arch/arm/mach-s3c64xx/crag6410.h
@@ -11,7 +11,7 @@
11#ifndef MACH_CRAG6410_H 11#ifndef MACH_CRAG6410_H
12#define MACH_CRAG6410_H 12#define MACH_CRAG6410_H
13 13
14#include <linux/platform_data/gpio-samsung-s3c64xx.h> 14#include <mach/gpio-samsung.h>
15 15
16#define GLENFARCLAS_PMIC_IRQ_BASE IRQ_BOARD_START 16#define GLENFARCLAS_PMIC_IRQ_BASE IRQ_BOARD_START
17 17
diff --git a/arch/arm/mach-s3c64xx/dev-audio.c b/arch/arm/mach-s3c64xx/dev-audio.c
index 6f58c80235dc..ff780a8d8366 100644
--- a/arch/arm/mach-s3c64xx/dev-audio.c
+++ b/arch/arm/mach-s3c64xx/dev-audio.c
@@ -21,8 +21,8 @@
21 21
22#include <plat/devs.h> 22#include <plat/devs.h>
23#include <linux/platform_data/asoc-s3c.h> 23#include <linux/platform_data/asoc-s3c.h>
24#include <linux/platform_data/gpio-samsung-s3c64xx.h>
25#include <plat/gpio-cfg.h> 24#include <plat/gpio-cfg.h>
25#include <mach/gpio-samsung.h>
26 26
27static int s3c64xx_i2s_cfg_gpio(struct platform_device *pdev) 27static int s3c64xx_i2s_cfg_gpio(struct platform_device *pdev)
28{ 28{
diff --git a/arch/arm/mach-s3c64xx/include/mach/gpio-samsung.h b/arch/arm/mach-s3c64xx/include/mach/gpio-samsung.h
new file mode 100644
index 000000000000..9c81fac3b2d5
--- /dev/null
+++ b/arch/arm/mach-s3c64xx/include/mach/gpio-samsung.h
@@ -0,0 +1,94 @@
1/*
2 * Copyright 2008 Openmoko, Inc.
3 * Copyright 2008 Simtec Electronics
4 * http://armlinux.simtec.co.uk/
5 * Ben Dooks <ben@simtec.co.uk>
6 *
7 * S3C6400 - 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#ifndef GPIO_SAMSUNG_S3C64XX_H
15#define GPIO_SAMSUNG_S3C64XX_H
16
17/* GPIO bank sizes */
18#define S3C64XX_GPIO_A_NR (8)
19#define S3C64XX_GPIO_B_NR (7)
20#define S3C64XX_GPIO_C_NR (8)
21#define S3C64XX_GPIO_D_NR (5)
22#define S3C64XX_GPIO_E_NR (5)
23#define S3C64XX_GPIO_F_NR (16)
24#define S3C64XX_GPIO_G_NR (7)
25#define S3C64XX_GPIO_H_NR (10)
26#define S3C64XX_GPIO_I_NR (16)
27#define S3C64XX_GPIO_J_NR (12)
28#define S3C64XX_GPIO_K_NR (16)
29#define S3C64XX_GPIO_L_NR (15)
30#define S3C64XX_GPIO_M_NR (6)
31#define S3C64XX_GPIO_N_NR (16)
32#define S3C64XX_GPIO_O_NR (16)
33#define S3C64XX_GPIO_P_NR (15)
34#define S3C64XX_GPIO_Q_NR (9)
35
36/* GPIO bank numbes */
37
38/* CONFIG_S3C_GPIO_SPACE allows the user to select extra
39 * space for debugging purposes so that any accidental
40 * change from one gpio bank to another can be caught.
41*/
42
43#define S3C64XX_GPIO_NEXT(__gpio) \
44 ((__gpio##_START) + (__gpio##_NR) + CONFIG_S3C_GPIO_SPACE + 1)
45
46enum s3c_gpio_number {
47 S3C64XX_GPIO_A_START = 0,
48 S3C64XX_GPIO_B_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_A),
49 S3C64XX_GPIO_C_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_B),
50 S3C64XX_GPIO_D_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_C),
51 S3C64XX_GPIO_E_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_D),
52 S3C64XX_GPIO_F_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_E),
53 S3C64XX_GPIO_G_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_F),
54 S3C64XX_GPIO_H_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_G),
55 S3C64XX_GPIO_I_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_H),
56 S3C64XX_GPIO_J_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_I),
57 S3C64XX_GPIO_K_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_J),
58 S3C64XX_GPIO_L_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_K),
59 S3C64XX_GPIO_M_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_L),
60 S3C64XX_GPIO_N_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_M),
61 S3C64XX_GPIO_O_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_N),
62 S3C64XX_GPIO_P_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_O),
63 S3C64XX_GPIO_Q_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_P),
64};
65
66/* S3C64XX GPIO number definitions. */
67
68#define S3C64XX_GPA(_nr) (S3C64XX_GPIO_A_START + (_nr))
69#define S3C64XX_GPB(_nr) (S3C64XX_GPIO_B_START + (_nr))
70#define S3C64XX_GPC(_nr) (S3C64XX_GPIO_C_START + (_nr))
71#define S3C64XX_GPD(_nr) (S3C64XX_GPIO_D_START + (_nr))
72#define S3C64XX_GPE(_nr) (S3C64XX_GPIO_E_START + (_nr))
73#define S3C64XX_GPF(_nr) (S3C64XX_GPIO_F_START + (_nr))
74#define S3C64XX_GPG(_nr) (S3C64XX_GPIO_G_START + (_nr))
75#define S3C64XX_GPH(_nr) (S3C64XX_GPIO_H_START + (_nr))
76#define S3C64XX_GPI(_nr) (S3C64XX_GPIO_I_START + (_nr))
77#define S3C64XX_GPJ(_nr) (S3C64XX_GPIO_J_START + (_nr))
78#define S3C64XX_GPK(_nr) (S3C64XX_GPIO_K_START + (_nr))
79#define S3C64XX_GPL(_nr) (S3C64XX_GPIO_L_START + (_nr))
80#define S3C64XX_GPM(_nr) (S3C64XX_GPIO_M_START + (_nr))
81#define S3C64XX_GPN(_nr) (S3C64XX_GPIO_N_START + (_nr))
82#define S3C64XX_GPO(_nr) (S3C64XX_GPIO_O_START + (_nr))
83#define S3C64XX_GPP(_nr) (S3C64XX_GPIO_P_START + (_nr))
84#define S3C64XX_GPQ(_nr) (S3C64XX_GPIO_Q_START + (_nr))
85
86/* the end of the S3C64XX specific gpios */
87#define S3C64XX_GPIO_END (S3C64XX_GPQ(S3C64XX_GPIO_Q_NR) + 1)
88#define S3C_GPIO_END S3C64XX_GPIO_END
89
90/* define the number of gpios we need to the one after the GPQ() range */
91#define GPIO_BOARD_START (S3C64XX_GPQ(S3C64XX_GPIO_Q_NR) + 1)
92
93#endif /* GPIO_SAMSUNG_S3C64XX_H */
94
diff --git a/arch/arm/mach-s3c64xx/mach-anw6410.c b/arch/arm/mach-s3c64xx/mach-anw6410.c
index 546f45b59ea1..ddeb0e51a962 100644
--- a/arch/arm/mach-s3c64xx/mach-anw6410.c
+++ b/arch/arm/mach-s3c64xx/mach-anw6410.c
@@ -43,13 +43,13 @@
43 43
44#include <plat/regs-serial.h> 44#include <plat/regs-serial.h>
45#include <linux/platform_data/i2c-s3c2410.h> 45#include <linux/platform_data/i2c-s3c2410.h>
46#include <linux/platform_data/gpio-samsung-s3c64xx.h>
47#include <plat/fb.h> 46#include <plat/fb.h>
48 47
49#include <plat/clock.h> 48#include <plat/clock.h>
50#include <plat/devs.h> 49#include <plat/devs.h>
51#include <plat/cpu.h> 50#include <plat/cpu.h>
52#include <mach/regs-gpio.h> 51#include <mach/regs-gpio.h>
52#include <mach/gpio-samsung.h>
53#include <plat/samsung-time.h> 53#include <plat/samsung-time.h>
54 54
55#include "common.h" 55#include "common.h"
diff --git a/arch/arm/mach-s3c64xx/mach-crag6410.c b/arch/arm/mach-s3c64xx/mach-crag6410.c
index 7b913595e4ee..3df3c372ee1f 100644
--- a/arch/arm/mach-s3c64xx/mach-crag6410.c
+++ b/arch/arm/mach-s3c64xx/mach-crag6410.c
@@ -32,7 +32,6 @@
32 32
33#include <linux/platform_data/pca953x.h> 33#include <linux/platform_data/pca953x.h>
34#include <linux/platform_data/s3c-hsotg.h> 34#include <linux/platform_data/s3c-hsotg.h>
35#include <linux/platform_data/gpio-samsung-s3c64xx.h>
36 35
37#include <video/platform_lcd.h> 36#include <video/platform_lcd.h>
38 37
@@ -49,8 +48,8 @@
49#include <video/samsung_fimd.h> 48#include <video/samsung_fimd.h>
50#include <mach/hardware.h> 49#include <mach/hardware.h>
51#include <mach/map.h> 50#include <mach/map.h>
52
53#include <mach/regs-gpio.h> 51#include <mach/regs-gpio.h>
52#include <mach/gpio-samsung.h>
54 53
55#include <plat/regs-serial.h> 54#include <plat/regs-serial.h>
56#include <plat/fb.h> 55#include <plat/fb.h>
diff --git a/arch/arm/mach-s3c64xx/mach-hmt.c b/arch/arm/mach-s3c64xx/mach-hmt.c
index 009b19525cbf..0431016925b9 100644
--- a/arch/arm/mach-s3c64xx/mach-hmt.c
+++ b/arch/arm/mach-s3c64xx/mach-hmt.c
@@ -35,7 +35,7 @@
35 35
36#include <plat/regs-serial.h> 36#include <plat/regs-serial.h>
37#include <linux/platform_data/i2c-s3c2410.h> 37#include <linux/platform_data/i2c-s3c2410.h>
38#include <linux/platform_data/gpio-samsung-s3c64xx.h> 38#include <mach/gpio-samsung.h>
39#include <plat/fb.h> 39#include <plat/fb.h>
40#include <linux/platform_data/mtd-nand-s3c2410.h> 40#include <linux/platform_data/mtd-nand-s3c2410.h>
41 41
diff --git a/arch/arm/mach-s3c64xx/mach-mini6410.c b/arch/arm/mach-s3c64xx/mach-mini6410.c
index 14c96ee5a3fe..8c84d3448dac 100644
--- a/arch/arm/mach-s3c64xx/mach-mini6410.c
+++ b/arch/arm/mach-s3c64xx/mach-mini6410.c
@@ -30,6 +30,7 @@
30 30
31#include <mach/map.h> 31#include <mach/map.h>
32#include <mach/regs-gpio.h> 32#include <mach/regs-gpio.h>
33#include <mach/gpio-samsung.h>
33 34
34#include <plat/adc.h> 35#include <plat/adc.h>
35#include <plat/cpu.h> 36#include <plat/cpu.h>
@@ -38,7 +39,6 @@
38#include <linux/platform_data/mtd-nand-s3c2410.h> 39#include <linux/platform_data/mtd-nand-s3c2410.h>
39#include <plat/regs-serial.h> 40#include <plat/regs-serial.h>
40#include <linux/platform_data/touchscreen-s3c2410.h> 41#include <linux/platform_data/touchscreen-s3c2410.h>
41#include <linux/platform_data/gpio-samsung-s3c64xx.h>
42 42
43#include <video/platform_lcd.h> 43#include <video/platform_lcd.h>
44#include <video/samsung_fimd.h> 44#include <video/samsung_fimd.h>
diff --git a/arch/arm/mach-s3c64xx/mach-real6410.c b/arch/arm/mach-s3c64xx/mach-real6410.c
index af45149a96b3..5152026f0e19 100644
--- a/arch/arm/mach-s3c64xx/mach-real6410.c
+++ b/arch/arm/mach-s3c64xx/mach-real6410.c
@@ -31,6 +31,7 @@
31 31
32#include <mach/map.h> 32#include <mach/map.h>
33#include <mach/regs-gpio.h> 33#include <mach/regs-gpio.h>
34#include <mach/gpio-samsung.h>
34 35
35#include <plat/adc.h> 36#include <plat/adc.h>
36#include <plat/cpu.h> 37#include <plat/cpu.h>
@@ -39,7 +40,6 @@
39#include <linux/platform_data/mtd-nand-s3c2410.h> 40#include <linux/platform_data/mtd-nand-s3c2410.h>
40#include <plat/regs-serial.h> 41#include <plat/regs-serial.h>
41#include <linux/platform_data/touchscreen-s3c2410.h> 42#include <linux/platform_data/touchscreen-s3c2410.h>
42#include <linux/platform_data/gpio-samsung-s3c64xx.h>
43 43
44#include <video/platform_lcd.h> 44#include <video/platform_lcd.h>
45#include <video/samsung_fimd.h> 45#include <video/samsung_fimd.h>
diff --git a/arch/arm/mach-s3c64xx/mach-smartq.c b/arch/arm/mach-s3c64xx/mach-smartq.c
index 0271b3a191e5..5629df905fcd 100644
--- a/arch/arm/mach-s3c64xx/mach-smartq.c
+++ b/arch/arm/mach-s3c64xx/mach-smartq.c
@@ -25,6 +25,7 @@
25 25
26#include <mach/map.h> 26#include <mach/map.h>
27#include <mach/regs-gpio.h> 27#include <mach/regs-gpio.h>
28#include <mach/gpio-samsung.h>
28 29
29#include <plat/clock.h> 30#include <plat/clock.h>
30#include <plat/cpu.h> 31#include <plat/cpu.h>
@@ -36,7 +37,6 @@
36#include <linux/platform_data/usb-ohci-s3c2410.h> 37#include <linux/platform_data/usb-ohci-s3c2410.h>
37#include <plat/sdhci.h> 38#include <plat/sdhci.h>
38#include <linux/platform_data/touchscreen-s3c2410.h> 39#include <linux/platform_data/touchscreen-s3c2410.h>
39#include <linux/platform_data/gpio-samsung-s3c64xx.h>
40 40
41#include <video/platform_lcd.h> 41#include <video/platform_lcd.h>
42#include <plat/samsung-time.h> 42#include <plat/samsung-time.h>
diff --git a/arch/arm/mach-s3c64xx/mach-smartq5.c b/arch/arm/mach-s3c64xx/mach-smartq5.c
index 15b6c2f98086..dec4c08e834f 100644
--- a/arch/arm/mach-s3c64xx/mach-smartq5.c
+++ b/arch/arm/mach-s3c64xx/mach-smartq5.c
@@ -16,7 +16,6 @@
16#include <linux/input.h> 16#include <linux/input.h>
17#include <linux/leds.h> 17#include <linux/leds.h>
18#include <linux/platform_device.h> 18#include <linux/platform_device.h>
19#include <linux/platform_data/gpio-samsung-s3c64xx.h>
20 19
21#include <asm/mach-types.h> 20#include <asm/mach-types.h>
22#include <asm/mach/arch.h> 21#include <asm/mach/arch.h>
@@ -24,6 +23,7 @@
24#include <video/samsung_fimd.h> 23#include <video/samsung_fimd.h>
25#include <mach/map.h> 24#include <mach/map.h>
26#include <mach/regs-gpio.h> 25#include <mach/regs-gpio.h>
26#include <mach/gpio-samsung.h>
27 27
28#include <plat/cpu.h> 28#include <plat/cpu.h>
29#include <plat/devs.h> 29#include <plat/devs.h>
diff --git a/arch/arm/mach-s3c64xx/mach-smartq7.c b/arch/arm/mach-s3c64xx/mach-smartq7.c
index e3b58942ee68..27b322069c7d 100644
--- a/arch/arm/mach-s3c64xx/mach-smartq7.c
+++ b/arch/arm/mach-s3c64xx/mach-smartq7.c
@@ -16,7 +16,6 @@
16#include <linux/input.h> 16#include <linux/input.h>
17#include <linux/leds.h> 17#include <linux/leds.h>
18#include <linux/platform_device.h> 18#include <linux/platform_device.h>
19#include <linux/platform_data/gpio-samsung-s3c64xx.h>
20 19
21#include <asm/mach-types.h> 20#include <asm/mach-types.h>
22#include <asm/mach/arch.h> 21#include <asm/mach/arch.h>
@@ -24,6 +23,7 @@
24#include <video/samsung_fimd.h> 23#include <video/samsung_fimd.h>
25#include <mach/map.h> 24#include <mach/map.h>
26#include <mach/regs-gpio.h> 25#include <mach/regs-gpio.h>
26#include <mach/gpio-samsung.h>
27 27
28#include <plat/cpu.h> 28#include <plat/cpu.h>
29#include <plat/devs.h> 29#include <plat/devs.h>
diff --git a/arch/arm/mach-s3c64xx/mach-smdk6400.c b/arch/arm/mach-s3c64xx/mach-smdk6400.c
index bdbbddb803d5..150f55fb9e33 100644
--- a/arch/arm/mach-s3c64xx/mach-smdk6400.c
+++ b/arch/arm/mach-s3c64xx/mach-smdk6400.c
@@ -35,7 +35,7 @@
35#include <plat/devs.h> 35#include <plat/devs.h>
36#include <plat/cpu.h> 36#include <plat/cpu.h>
37#include <linux/platform_data/i2c-s3c2410.h> 37#include <linux/platform_data/i2c-s3c2410.h>
38#include <linux/platform_data/gpio-samsung-s3c64xx.h> 38#include <mach/gpio-samsung.h>
39#include <plat/samsung-time.h> 39#include <plat/samsung-time.h>
40 40
41#include "common.h" 41#include "common.h"
diff --git a/arch/arm/mach-s3c64xx/mach-smdk6410.c b/arch/arm/mach-s3c64xx/mach-smdk6410.c
index a8977da87eb1..43261d24a0a5 100644
--- a/arch/arm/mach-s3c64xx/mach-smdk6410.c
+++ b/arch/arm/mach-s3c64xx/mach-smdk6410.c
@@ -31,7 +31,6 @@
31#include <linux/regulator/machine.h> 31#include <linux/regulator/machine.h>
32#include <linux/pwm_backlight.h> 32#include <linux/pwm_backlight.h>
33#include <linux/platform_data/s3c-hsotg.h> 33#include <linux/platform_data/s3c-hsotg.h>
34#include <linux/platform_data/gpio-samsung-s3c64xx.h>
35 34
36#ifdef CONFIG_SMDK6410_WM1190_EV1 35#ifdef CONFIG_SMDK6410_WM1190_EV1
37#include <linux/mfd/wm8350/core.h> 36#include <linux/mfd/wm8350/core.h>
@@ -58,6 +57,7 @@
58 57
59#include <plat/regs-serial.h> 58#include <plat/regs-serial.h>
60#include <mach/regs-gpio.h> 59#include <mach/regs-gpio.h>
60#include <mach/gpio-samsung.h>
61#include <linux/platform_data/ata-samsung_cf.h> 61#include <linux/platform_data/ata-samsung_cf.h>
62#include <linux/platform_data/i2c-s3c2410.h> 62#include <linux/platform_data/i2c-s3c2410.h>
63#include <plat/fb.h> 63#include <plat/fb.h>
diff --git a/arch/arm/mach-s3c64xx/pm.c b/arch/arm/mach-s3c64xx/pm.c
index 99c778eecab6..b5a66986a529 100644
--- a/arch/arm/mach-s3c64xx/pm.c
+++ b/arch/arm/mach-s3c64xx/pm.c
@@ -18,7 +18,6 @@
18#include <linux/io.h> 18#include <linux/io.h>
19#include <linux/gpio.h> 19#include <linux/gpio.h>
20#include <linux/pm_domain.h> 20#include <linux/pm_domain.h>
21#include <linux/platform_data/gpio-samsung-s3c64xx.h>
22 21
23#include <mach/map.h> 22#include <mach/map.h>
24#include <mach/irqs.h> 23#include <mach/irqs.h>
@@ -29,6 +28,7 @@
29 28
30#include <mach/regs-gpio.h> 29#include <mach/regs-gpio.h>
31#include <mach/regs-clock.h> 30#include <mach/regs-clock.h>
31#include <mach/gpio-samsung.h>
32 32
33#include "regs-gpio-memport.h" 33#include "regs-gpio-memport.h"
34#include "regs-modem.h" 34#include "regs-modem.h"
diff --git a/arch/arm/mach-s3c64xx/setup-fb-24bpp.c b/arch/arm/mach-s3c64xx/setup-fb-24bpp.c
index 222792691b41..9d17bff12d4d 100644
--- a/arch/arm/mach-s3c64xx/setup-fb-24bpp.c
+++ b/arch/arm/mach-s3c64xx/setup-fb-24bpp.c
@@ -16,10 +16,10 @@
16#include <linux/types.h> 16#include <linux/types.h>
17#include <linux/fb.h> 17#include <linux/fb.h>
18#include <linux/gpio.h> 18#include <linux/gpio.h>
19#include <linux/platform_data/gpio-samsung-s3c64xx.h>
20 19
21#include <plat/fb.h> 20#include <plat/fb.h>
22#include <plat/gpio-cfg.h> 21#include <plat/gpio-cfg.h>
22#include <mach/gpio-samsung.h>
23 23
24void s3c64xx_fb_gpio_setup_24bpp(void) 24void s3c64xx_fb_gpio_setup_24bpp(void)
25{ 25{
diff --git a/arch/arm/mach-s3c64xx/setup-i2c0.c b/arch/arm/mach-s3c64xx/setup-i2c0.c
index f269dabc9593..4b8c1cfdd1fc 100644
--- a/arch/arm/mach-s3c64xx/setup-i2c0.c
+++ b/arch/arm/mach-s3c64xx/setup-i2c0.c
@@ -19,8 +19,8 @@
19struct platform_device; /* don't need the contents */ 19struct platform_device; /* don't need the contents */
20 20
21#include <linux/platform_data/i2c-s3c2410.h> 21#include <linux/platform_data/i2c-s3c2410.h>
22#include <linux/platform_data/gpio-samsung-s3c64xx.h>
23#include <plat/gpio-cfg.h> 22#include <plat/gpio-cfg.h>
23#include <mach/gpio-samsung.h>
24 24
25void s3c_i2c0_cfg_gpio(struct platform_device *dev) 25void s3c_i2c0_cfg_gpio(struct platform_device *dev)
26{ 26{
diff --git a/arch/arm/mach-s3c64xx/setup-i2c1.c b/arch/arm/mach-s3c64xx/setup-i2c1.c
index aa2bfcd5e818..cd1df71ee13b 100644
--- a/arch/arm/mach-s3c64xx/setup-i2c1.c
+++ b/arch/arm/mach-s3c64xx/setup-i2c1.c
@@ -19,8 +19,8 @@
19struct platform_device; /* don't need the contents */ 19struct platform_device; /* don't need the contents */
20 20
21#include <linux/platform_data/i2c-s3c2410.h> 21#include <linux/platform_data/i2c-s3c2410.h>
22#include <linux/platform_data/gpio-samsung-s3c64xx.h>
23#include <plat/gpio-cfg.h> 22#include <plat/gpio-cfg.h>
23#include <mach/gpio-samsung.h>
24 24
25void s3c_i2c1_cfg_gpio(struct platform_device *dev) 25void s3c_i2c1_cfg_gpio(struct platform_device *dev)
26{ 26{
diff --git a/arch/arm/mach-s3c64xx/setup-ide.c b/arch/arm/mach-s3c64xx/setup-ide.c
index 81dcebeaeb53..689fb72e715c 100644
--- a/arch/arm/mach-s3c64xx/setup-ide.c
+++ b/arch/arm/mach-s3c64xx/setup-ide.c
@@ -17,8 +17,8 @@
17#include <mach/map.h> 17#include <mach/map.h>
18#include <mach/regs-clock.h> 18#include <mach/regs-clock.h>
19#include <plat/gpio-cfg.h> 19#include <plat/gpio-cfg.h>
20#include <mach/gpio-samsung.h>
20#include <linux/platform_data/ata-samsung_cf.h> 21#include <linux/platform_data/ata-samsung_cf.h>
21#include <linux/platform_data/gpio-samsung-s3c64xx.h>
22 22
23void s3c64xx_ide_setup_gpio(void) 23void s3c64xx_ide_setup_gpio(void)
24{ 24{
diff --git a/arch/arm/mach-s3c64xx/setup-keypad.c b/arch/arm/mach-s3c64xx/setup-keypad.c
index e236f40c9053..6ad9a89dfddf 100644
--- a/arch/arm/mach-s3c64xx/setup-keypad.c
+++ b/arch/arm/mach-s3c64xx/setup-keypad.c
@@ -11,9 +11,9 @@
11*/ 11*/
12 12
13#include <linux/gpio.h> 13#include <linux/gpio.h>
14#include <linux/platform_data/gpio-samsung-s3c64xx.h>
15#include <plat/gpio-cfg.h> 14#include <plat/gpio-cfg.h>
16#include <plat/keypad.h> 15#include <plat/keypad.h>
16#include <mach/gpio-samsung.h>
17 17
18void samsung_keypad_cfg_gpio(unsigned int rows, unsigned int cols) 18void samsung_keypad_cfg_gpio(unsigned int rows, unsigned int cols)
19{ 19{
diff --git a/arch/arm/mach-s3c64xx/setup-sdhci-gpio.c b/arch/arm/mach-s3c64xx/setup-sdhci-gpio.c
index 79192b7217df..f426b7a16c16 100644
--- a/arch/arm/mach-s3c64xx/setup-sdhci-gpio.c
+++ b/arch/arm/mach-s3c64xx/setup-sdhci-gpio.c
@@ -17,10 +17,10 @@
17#include <linux/platform_device.h> 17#include <linux/platform_device.h>
18#include <linux/io.h> 18#include <linux/io.h>
19#include <linux/gpio.h> 19#include <linux/gpio.h>
20#include <linux/platform_data/gpio-samsung-s3c64xx.h>
21 20
22#include <plat/gpio-cfg.h> 21#include <plat/gpio-cfg.h>
23#include <plat/sdhci.h> 22#include <plat/sdhci.h>
23#include <mach/gpio-samsung.h>
24 24
25void s3c64xx_setup_sdhci0_cfg_gpio(struct platform_device *dev, int width) 25void s3c64xx_setup_sdhci0_cfg_gpio(struct platform_device *dev, int width)
26{ 26{
diff --git a/arch/arm/mach-s3c64xx/setup-spi.c b/arch/arm/mach-s3c64xx/setup-spi.c
index dad4728ccb52..5fd1a315c901 100644
--- a/arch/arm/mach-s3c64xx/setup-spi.c
+++ b/arch/arm/mach-s3c64xx/setup-spi.c
@@ -9,8 +9,8 @@
9 */ 9 */
10 10
11#include <linux/gpio.h> 11#include <linux/gpio.h>
12#include <linux/platform_data/gpio-samsung-s3c64xx.h>
13#include <plat/gpio-cfg.h> 12#include <plat/gpio-cfg.h>
13#include <mach/gpio-samsung.h>
14 14
15#ifdef CONFIG_S3C64XX_DEV_SPI0 15#ifdef CONFIG_S3C64XX_DEV_SPI0
16int s3c64xx_spi0_cfg_gpio(void) 16int s3c64xx_spi0_cfg_gpio(void)
diff --git a/arch/arm/plat-samsung/pm-gpio.c b/arch/arm/plat-samsung/pm-gpio.c
index c4efa1c2a5d1..a9f7a37c4173 100644
--- a/arch/arm/plat-samsung/pm-gpio.c
+++ b/arch/arm/plat-samsung/pm-gpio.c
@@ -19,12 +19,7 @@
19#include <linux/io.h> 19#include <linux/io.h>
20#include <linux/gpio.h> 20#include <linux/gpio.h>
21 21
22#ifdef CONFIG_ARCH_S3C24XX 22#include <mach/gpio-samsung.h>
23#include <linux/platform_data/gpio-samsung-s3c24xx.h>
24#endif
25#ifdef CONFIG_ARCH_S3C64XX
26#include <linux/platform_data/gpio-samsung-s3c64xx.h>
27#endif
28#include <plat/gpio-core.h> 23#include <plat/gpio-core.h>
29#include <plat/pm.h> 24#include <plat/pm.h>
30 25
diff --git a/arch/arm/plat-samsung/setup-camif.c b/arch/arm/plat-samsung/setup-camif.c
index 70cf503c9a6b..72d8edb8927a 100644
--- a/arch/arm/plat-samsung/setup-camif.c
+++ b/arch/arm/plat-samsung/setup-camif.c
@@ -9,8 +9,8 @@
9 */ 9 */
10 10
11#include <linux/gpio.h> 11#include <linux/gpio.h>
12#include <linux/platform_data/gpio-samsung-s3c24xx.h>
13#include <plat/gpio-cfg.h> 12#include <plat/gpio-cfg.h>
13#include <mach/gpio-samsung.h>
14 14
15/* Number of camera port pins, without FIELD */ 15/* Number of camera port pins, without FIELD */
16#define S3C_CAMIF_NUM_GPIOS 13 16#define S3C_CAMIF_NUM_GPIOS 13