aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2013-12-06 06:46:27 -0500
committerLinus Walleij <linus.walleij@linaro.org>2013-12-20 12:19:36 -0500
commit41c3548e6da67786bcaf8ee7b406f6f85ddd816b (patch)
treea1d57c285d2113ce97ca8bfd817a6e42c400474e /arch
parentc67d0f29262bf6f863ce74d0756618bbd9ba80fd (diff)
ARM: s3c64xx: get rid of custom <mach/gpio.h>
This isolates the custom S3C64xx GPIO definition table to <linux/platform_data/gpio-samsung-s3x64xx.h> as this is used in a few different places in the kernel, removing the need to depend on the implicit inclusion of <mach/gpio.h> from <linux/gpio.h> and thus getting rid of a few nasty cross-dependencies. Also delete the CONFIG_SAMSUNG_GPIO_EXTRA stuff. Instead roof the number of GPIOs for this platform: First sum up all the GPIO banks from A to Q: 187 GPIOs. Add the 16 "board GPIOs" and the roof for SAMSUNG_GPIO_EXTRA, 128, so in total maximum 187+16+128 = 331 GPIOs, so let's take the same roof as for S3C24XX: 512. This way we can do away with the GPIO calculation macros for GPIO_BOARD_START, BOARD_NR_GPIOS and the definition of ARCH_NR_GPIOS. Cc: Mark Brown <broonie@kernel.org> [on Mini6410 board] Tested-by: Tomasz Figa <t.figa@samsung.com> [for changes in mach-s3c64xx] Acked-by: Tomasz Figa <t.figa@samsung.com> Tested-by: Mark Brown <broonie@linaro.org> Acked-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/Kconfig3
-rw-r--r--arch/arm/mach-s3c64xx/Kconfig3
-rw-r--r--arch/arm/mach-s3c64xx/common.c1
-rw-r--r--arch/arm/mach-s3c64xx/crag6410.h2
-rw-r--r--arch/arm/mach-s3c64xx/dev-audio.c1
-rw-r--r--arch/arm/mach-s3c64xx/include/mach/gpio.h93
-rw-r--r--arch/arm/mach-s3c64xx/mach-anw6410.c1
-rw-r--r--arch/arm/mach-s3c64xx/mach-crag6410.c1
-rw-r--r--arch/arm/mach-s3c64xx/mach-hmt.c1
-rw-r--r--arch/arm/mach-s3c64xx/mach-mini6410.c1
-rw-r--r--arch/arm/mach-s3c64xx/mach-real6410.c1
-rw-r--r--arch/arm/mach-s3c64xx/mach-smartq.c1
-rw-r--r--arch/arm/mach-s3c64xx/mach-smartq5.c1
-rw-r--r--arch/arm/mach-s3c64xx/mach-smartq7.c1
-rw-r--r--arch/arm/mach-s3c64xx/mach-smdk6400.c1
-rw-r--r--arch/arm/mach-s3c64xx/mach-smdk6410.c1
-rw-r--r--arch/arm/mach-s3c64xx/pm.c1
-rw-r--r--arch/arm/mach-s3c64xx/setup-fb-24bpp.c1
-rw-r--r--arch/arm/mach-s3c64xx/setup-i2c0.c1
-rw-r--r--arch/arm/mach-s3c64xx/setup-i2c1.c1
-rw-r--r--arch/arm/mach-s3c64xx/setup-ide.c1
-rw-r--r--arch/arm/mach-s3c64xx/setup-keypad.c1
-rw-r--r--arch/arm/mach-s3c64xx/setup-sdhci-gpio.c1
-rw-r--r--arch/arm/mach-s3c64xx/setup-spi.c1
-rw-r--r--arch/arm/plat-samsung/pm-gpio.c3
25 files changed, 25 insertions, 99 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 6a26bcb3a63a..103437986684 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -732,7 +732,6 @@ config ARCH_S3C64XX
732 select HAVE_S3C2410_I2C if I2C 732 select HAVE_S3C2410_I2C if I2C
733 select HAVE_S3C2410_WATCHDOG if WATCHDOG 733 select HAVE_S3C2410_WATCHDOG if WATCHDOG
734 select HAVE_TCM 734 select HAVE_TCM
735 select NEED_MACH_GPIO_H
736 select NO_IOPORT 735 select NO_IOPORT
737 select PLAT_SAMSUNG 736 select PLAT_SAMSUNG
738 select PM_GENERIC_DOMAINS 737 select PM_GENERIC_DOMAINS
@@ -1592,7 +1591,7 @@ config ARM_PSCI
1592config ARCH_NR_GPIO 1591config ARCH_NR_GPIO
1593 int 1592 int
1594 default 1024 if ARCH_SHMOBILE || ARCH_TEGRA 1593 default 1024 if ARCH_SHMOBILE || ARCH_TEGRA
1595 default 512 if ARCH_EXYNOS || ARCH_KEYSTONE || SOC_OMAP5 || SOC_DRA7XX || ARCH_S3C24XX 1594 default 512 if ARCH_EXYNOS || ARCH_KEYSTONE || SOC_OMAP5 || SOC_DRA7XX || ARCH_S3C24XX || ARCH_S3C64XX
1596 default 392 if ARCH_U8500 1595 default 392 if ARCH_U8500
1597 default 352 if ARCH_VT8500 1596 default 352 if ARCH_VT8500
1598 default 288 if ARCH_SUNXI 1597 default 288 if ARCH_SUNXI
diff --git a/arch/arm/mach-s3c64xx/Kconfig b/arch/arm/mach-s3c64xx/Kconfig
index 2cb8dc55b50e..175f01501129 100644
--- a/arch/arm/mach-s3c64xx/Kconfig
+++ b/arch/arm/mach-s3c64xx/Kconfig
@@ -192,7 +192,6 @@ config SMDK6410_WM1190_EV1
192 select MFD_WM8350_I2C 192 select MFD_WM8350_I2C
193 select REGULATOR 193 select REGULATOR
194 select REGULATOR_WM8350 194 select REGULATOR_WM8350
195 select SAMSUNG_GPIO_EXTRA64
196 help 195 help
197 The Wolfson Microelectronics 1190-EV1 is a WM835x based PMIC 196 The Wolfson Microelectronics 1190-EV1 is a WM835x based PMIC
198 and audio daughtercard for the Samsung SMDK6410 reference 197 and audio daughtercard for the Samsung SMDK6410 reference
@@ -208,7 +207,6 @@ config SMDK6410_WM1192_EV1
208 select MFD_WM831X_I2C 207 select MFD_WM831X_I2C
209 select REGULATOR 208 select REGULATOR
210 select REGULATOR_WM831X 209 select REGULATOR_WM831X
211 select SAMSUNG_GPIO_EXTRA64
212 help 210 help
213 The Wolfson Microelectronics 1192-EV1 is a WM831x based PMIC 211 The Wolfson Microelectronics 1192-EV1 is a WM831x based PMIC
214 daughtercard for the Samsung SMDK6410 reference platform. 212 daughtercard for the Samsung SMDK6410 reference platform.
@@ -294,7 +292,6 @@ config MACH_WLF_CRAGG_6410
294 select SAMSUNG_DEV_ADC 292 select SAMSUNG_DEV_ADC
295 select SAMSUNG_DEV_KEYPAD 293 select SAMSUNG_DEV_KEYPAD
296 select SAMSUNG_DEV_PWM 294 select SAMSUNG_DEV_PWM
297 select SAMSUNG_GPIO_EXTRA128
298 help 295 help
299 Machine support for the Wolfson Cragganmore S3C6410 variant. 296 Machine support for the Wolfson Cragganmore S3C6410 variant.
300 297
diff --git a/arch/arm/mach-s3c64xx/common.c b/arch/arm/mach-s3c64xx/common.c
index 7a3ce4c39e5f..64edda37bde3 100644
--- a/arch/arm/mach-s3c64xx/common.c
+++ b/arch/arm/mach-s3c64xx/common.c
@@ -32,6 +32,7 @@
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>
35#include <clocksource/samsung_pwm.h> 36#include <clocksource/samsung_pwm.h>
36 37
37#include <asm/mach/arch.h> 38#include <asm/mach/arch.h>
diff --git a/arch/arm/mach-s3c64xx/crag6410.h b/arch/arm/mach-s3c64xx/crag6410.h
index 4c3c9994fc2c..9ef20b8fd36f 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/gpio.h> 14#include <linux/platform_data/gpio-samsung-s3c64xx.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 e367e87bbc29..6f58c80235dc 100644
--- a/arch/arm/mach-s3c64xx/dev-audio.c
+++ b/arch/arm/mach-s3c64xx/dev-audio.c
@@ -21,6 +21,7 @@
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>
24#include <plat/gpio-cfg.h> 25#include <plat/gpio-cfg.h>
25 26
26static int s3c64xx_i2s_cfg_gpio(struct platform_device *pdev) 27static int s3c64xx_i2s_cfg_gpio(struct platform_device *pdev)
diff --git a/arch/arm/mach-s3c64xx/include/mach/gpio.h b/arch/arm/mach-s3c64xx/include/mach/gpio.h
deleted file mode 100644
index 8b540c42d5dd..000000000000
--- a/arch/arm/mach-s3c64xx/include/mach/gpio.h
+++ /dev/null
@@ -1,93 +0,0 @@
1/* arch/arm/mach-s3c6400/include/mach/gpio.h
2 *
3 * Copyright 2008 Openmoko, Inc.
4 * Copyright 2008 Simtec Electronics
5 * http://armlinux.simtec.co.uk/
6 * Ben Dooks <ben@simtec.co.uk>
7 *
8 * S3C6400 - GPIO lib support
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License version 2 as
12 * published by the Free Software Foundation.
13*/
14
15/* GPIO bank sizes */
16#define S3C64XX_GPIO_A_NR (8)
17#define S3C64XX_GPIO_B_NR (7)
18#define S3C64XX_GPIO_C_NR (8)
19#define S3C64XX_GPIO_D_NR (5)
20#define S3C64XX_GPIO_E_NR (5)
21#define S3C64XX_GPIO_F_NR (16)
22#define S3C64XX_GPIO_G_NR (7)
23#define S3C64XX_GPIO_H_NR (10)
24#define S3C64XX_GPIO_I_NR (16)
25#define S3C64XX_GPIO_J_NR (12)
26#define S3C64XX_GPIO_K_NR (16)
27#define S3C64XX_GPIO_L_NR (15)
28#define S3C64XX_GPIO_M_NR (6)
29#define S3C64XX_GPIO_N_NR (16)
30#define S3C64XX_GPIO_O_NR (16)
31#define S3C64XX_GPIO_P_NR (15)
32#define S3C64XX_GPIO_Q_NR (9)
33
34/* GPIO bank numbes */
35
36/* CONFIG_S3C_GPIO_SPACE allows the user to select extra
37 * space for debugging purposes so that any accidental
38 * change from one gpio bank to another can be caught.
39*/
40
41#define S3C64XX_GPIO_NEXT(__gpio) \
42 ((__gpio##_START) + (__gpio##_NR) + CONFIG_S3C_GPIO_SPACE + 1)
43
44enum s3c_gpio_number {
45 S3C64XX_GPIO_A_START = 0,
46 S3C64XX_GPIO_B_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_A),
47 S3C64XX_GPIO_C_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_B),
48 S3C64XX_GPIO_D_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_C),
49 S3C64XX_GPIO_E_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_D),
50 S3C64XX_GPIO_F_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_E),
51 S3C64XX_GPIO_G_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_F),
52 S3C64XX_GPIO_H_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_G),
53 S3C64XX_GPIO_I_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_H),
54 S3C64XX_GPIO_J_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_I),
55 S3C64XX_GPIO_K_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_J),
56 S3C64XX_GPIO_L_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_K),
57 S3C64XX_GPIO_M_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_L),
58 S3C64XX_GPIO_N_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_M),
59 S3C64XX_GPIO_O_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_N),
60 S3C64XX_GPIO_P_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_O),
61 S3C64XX_GPIO_Q_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_P),
62};
63
64/* S3C64XX GPIO number definitions. */
65
66#define S3C64XX_GPA(_nr) (S3C64XX_GPIO_A_START + (_nr))
67#define S3C64XX_GPB(_nr) (S3C64XX_GPIO_B_START + (_nr))
68#define S3C64XX_GPC(_nr) (S3C64XX_GPIO_C_START + (_nr))
69#define S3C64XX_GPD(_nr) (S3C64XX_GPIO_D_START + (_nr))
70#define S3C64XX_GPE(_nr) (S3C64XX_GPIO_E_START + (_nr))
71#define S3C64XX_GPF(_nr) (S3C64XX_GPIO_F_START + (_nr))
72#define S3C64XX_GPG(_nr) (S3C64XX_GPIO_G_START + (_nr))
73#define S3C64XX_GPH(_nr) (S3C64XX_GPIO_H_START + (_nr))
74#define S3C64XX_GPI(_nr) (S3C64XX_GPIO_I_START + (_nr))
75#define S3C64XX_GPJ(_nr) (S3C64XX_GPIO_J_START + (_nr))
76#define S3C64XX_GPK(_nr) (S3C64XX_GPIO_K_START + (_nr))
77#define S3C64XX_GPL(_nr) (S3C64XX_GPIO_L_START + (_nr))
78#define S3C64XX_GPM(_nr) (S3C64XX_GPIO_M_START + (_nr))
79#define S3C64XX_GPN(_nr) (S3C64XX_GPIO_N_START + (_nr))
80#define S3C64XX_GPO(_nr) (S3C64XX_GPIO_O_START + (_nr))
81#define S3C64XX_GPP(_nr) (S3C64XX_GPIO_P_START + (_nr))
82#define S3C64XX_GPQ(_nr) (S3C64XX_GPIO_Q_START + (_nr))
83
84/* the end of the S3C64XX specific gpios */
85#define S3C64XX_GPIO_END (S3C64XX_GPQ(S3C64XX_GPIO_Q_NR) + 1)
86#define S3C_GPIO_END S3C64XX_GPIO_END
87
88/* define the number of gpios we need to the one after the GPQ() range */
89#define GPIO_BOARD_START (S3C64XX_GPQ(S3C64XX_GPIO_Q_NR) + 1)
90
91#define BOARD_NR_GPIOS (16 + CONFIG_SAMSUNG_GPIO_EXTRA)
92
93#define ARCH_NR_GPIOS (GPIO_BOARD_START + BOARD_NR_GPIOS)
diff --git a/arch/arm/mach-s3c64xx/mach-anw6410.c b/arch/arm/mach-s3c64xx/mach-anw6410.c
index d266dd5f7060..546f45b59ea1 100644
--- a/arch/arm/mach-s3c64xx/mach-anw6410.c
+++ b/arch/arm/mach-s3c64xx/mach-anw6410.c
@@ -43,6 +43,7 @@
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>
46#include <plat/fb.h> 47#include <plat/fb.h>
47 48
48#include <plat/clock.h> 49#include <plat/clock.h>
diff --git a/arch/arm/mach-s3c64xx/mach-crag6410.c b/arch/arm/mach-s3c64xx/mach-crag6410.c
index 758e31b26550..7b913595e4ee 100644
--- a/arch/arm/mach-s3c64xx/mach-crag6410.c
+++ b/arch/arm/mach-s3c64xx/mach-crag6410.c
@@ -32,6 +32,7 @@
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>
35 36
36#include <video/platform_lcd.h> 37#include <video/platform_lcd.h>
37 38
diff --git a/arch/arm/mach-s3c64xx/mach-hmt.c b/arch/arm/mach-s3c64xx/mach-hmt.c
index 614a03a92cf7..009b19525cbf 100644
--- a/arch/arm/mach-s3c64xx/mach-hmt.c
+++ b/arch/arm/mach-s3c64xx/mach-hmt.c
@@ -35,6 +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 <plat/fb.h> 39#include <plat/fb.h>
39#include <linux/platform_data/mtd-nand-s3c2410.h> 40#include <linux/platform_data/mtd-nand-s3c2410.h>
40 41
diff --git a/arch/arm/mach-s3c64xx/mach-mini6410.c b/arch/arm/mach-s3c64xx/mach-mini6410.c
index 58d46a3d7b78..14c96ee5a3fe 100644
--- a/arch/arm/mach-s3c64xx/mach-mini6410.c
+++ b/arch/arm/mach-s3c64xx/mach-mini6410.c
@@ -38,6 +38,7 @@
38#include <linux/platform_data/mtd-nand-s3c2410.h> 38#include <linux/platform_data/mtd-nand-s3c2410.h>
39#include <plat/regs-serial.h> 39#include <plat/regs-serial.h>
40#include <linux/platform_data/touchscreen-s3c2410.h> 40#include <linux/platform_data/touchscreen-s3c2410.h>
41#include <linux/platform_data/gpio-samsung-s3c64xx.h>
41 42
42#include <video/platform_lcd.h> 43#include <video/platform_lcd.h>
43#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 8bed37b3d5ac..af45149a96b3 100644
--- a/arch/arm/mach-s3c64xx/mach-real6410.c
+++ b/arch/arm/mach-s3c64xx/mach-real6410.c
@@ -39,6 +39,7 @@
39#include <linux/platform_data/mtd-nand-s3c2410.h> 39#include <linux/platform_data/mtd-nand-s3c2410.h>
40#include <plat/regs-serial.h> 40#include <plat/regs-serial.h>
41#include <linux/platform_data/touchscreen-s3c2410.h> 41#include <linux/platform_data/touchscreen-s3c2410.h>
42#include <linux/platform_data/gpio-samsung-s3c64xx.h>
42 43
43#include <video/platform_lcd.h> 44#include <video/platform_lcd.h>
44#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 a6b338fd0470..0271b3a191e5 100644
--- a/arch/arm/mach-s3c64xx/mach-smartq.c
+++ b/arch/arm/mach-s3c64xx/mach-smartq.c
@@ -36,6 +36,7 @@
36#include <linux/platform_data/usb-ohci-s3c2410.h> 36#include <linux/platform_data/usb-ohci-s3c2410.h>
37#include <plat/sdhci.h> 37#include <plat/sdhci.h>
38#include <linux/platform_data/touchscreen-s3c2410.h> 38#include <linux/platform_data/touchscreen-s3c2410.h>
39#include <linux/platform_data/gpio-samsung-s3c64xx.h>
39 40
40#include <video/platform_lcd.h> 41#include <video/platform_lcd.h>
41#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 8aca5daf3d05..15b6c2f98086 100644
--- a/arch/arm/mach-s3c64xx/mach-smartq5.c
+++ b/arch/arm/mach-s3c64xx/mach-smartq5.c
@@ -16,6 +16,7 @@
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>
19 20
20#include <asm/mach-types.h> 21#include <asm/mach-types.h>
21#include <asm/mach/arch.h> 22#include <asm/mach/arch.h>
diff --git a/arch/arm/mach-s3c64xx/mach-smartq7.c b/arch/arm/mach-s3c64xx/mach-smartq7.c
index a052e107c0b4..e3b58942ee68 100644
--- a/arch/arm/mach-s3c64xx/mach-smartq7.c
+++ b/arch/arm/mach-s3c64xx/mach-smartq7.c
@@ -16,6 +16,7 @@
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>
19 20
20#include <asm/mach-types.h> 21#include <asm/mach-types.h>
21#include <asm/mach/arch.h> 22#include <asm/mach/arch.h>
diff --git a/arch/arm/mach-s3c64xx/mach-smdk6400.c b/arch/arm/mach-s3c64xx/mach-smdk6400.c
index 27381cfcabbe..bdbbddb803d5 100644
--- a/arch/arm/mach-s3c64xx/mach-smdk6400.c
+++ b/arch/arm/mach-s3c64xx/mach-smdk6400.c
@@ -35,6 +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 <plat/samsung-time.h> 39#include <plat/samsung-time.h>
39 40
40#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 d5ea938cc9a1..a8977da87eb1 100644
--- a/arch/arm/mach-s3c64xx/mach-smdk6410.c
+++ b/arch/arm/mach-s3c64xx/mach-smdk6410.c
@@ -31,6 +31,7 @@
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>
34 35
35#ifdef CONFIG_SMDK6410_WM1190_EV1 36#ifdef CONFIG_SMDK6410_WM1190_EV1
36#include <linux/mfd/wm8350/core.h> 37#include <linux/mfd/wm8350/core.h>
diff --git a/arch/arm/mach-s3c64xx/pm.c b/arch/arm/mach-s3c64xx/pm.c
index 8cdb824a3b43..99c778eecab6 100644
--- a/arch/arm/mach-s3c64xx/pm.c
+++ b/arch/arm/mach-s3c64xx/pm.c
@@ -18,6 +18,7 @@
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>
21 22
22#include <mach/map.h> 23#include <mach/map.h>
23#include <mach/irqs.h> 24#include <mach/irqs.h>
diff --git a/arch/arm/mach-s3c64xx/setup-fb-24bpp.c b/arch/arm/mach-s3c64xx/setup-fb-24bpp.c
index 2cf80026c58d..222792691b41 100644
--- a/arch/arm/mach-s3c64xx/setup-fb-24bpp.c
+++ b/arch/arm/mach-s3c64xx/setup-fb-24bpp.c
@@ -16,6 +16,7 @@
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>
19 20
20#include <plat/fb.h> 21#include <plat/fb.h>
21#include <plat/gpio-cfg.h> 22#include <plat/gpio-cfg.h>
diff --git a/arch/arm/mach-s3c64xx/setup-i2c0.c b/arch/arm/mach-s3c64xx/setup-i2c0.c
index 40666ba8d607..f269dabc9593 100644
--- a/arch/arm/mach-s3c64xx/setup-i2c0.c
+++ b/arch/arm/mach-s3c64xx/setup-i2c0.c
@@ -19,6 +19,7 @@
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>
22#include <plat/gpio-cfg.h> 23#include <plat/gpio-cfg.h>
23 24
24void s3c_i2c0_cfg_gpio(struct platform_device *dev) 25void s3c_i2c0_cfg_gpio(struct platform_device *dev)
diff --git a/arch/arm/mach-s3c64xx/setup-i2c1.c b/arch/arm/mach-s3c64xx/setup-i2c1.c
index 3fdb24c4e62a..aa2bfcd5e818 100644
--- a/arch/arm/mach-s3c64xx/setup-i2c1.c
+++ b/arch/arm/mach-s3c64xx/setup-i2c1.c
@@ -19,6 +19,7 @@
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>
22#include <plat/gpio-cfg.h> 23#include <plat/gpio-cfg.h>
23 24
24void s3c_i2c1_cfg_gpio(struct platform_device *dev) 25void s3c_i2c1_cfg_gpio(struct platform_device *dev)
diff --git a/arch/arm/mach-s3c64xx/setup-ide.c b/arch/arm/mach-s3c64xx/setup-ide.c
index 648d8b85bf6b..81dcebeaeb53 100644
--- a/arch/arm/mach-s3c64xx/setup-ide.c
+++ b/arch/arm/mach-s3c64xx/setup-ide.c
@@ -18,6 +18,7 @@
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 <linux/platform_data/ata-samsung_cf.h> 20#include <linux/platform_data/ata-samsung_cf.h>
21#include <linux/platform_data/gpio-samsung-s3c64xx.h>
21 22
22void s3c64xx_ide_setup_gpio(void) 23void s3c64xx_ide_setup_gpio(void)
23{ 24{
diff --git a/arch/arm/mach-s3c64xx/setup-keypad.c b/arch/arm/mach-s3c64xx/setup-keypad.c
index 1d4d0ee9e870..e236f40c9053 100644
--- a/arch/arm/mach-s3c64xx/setup-keypad.c
+++ b/arch/arm/mach-s3c64xx/setup-keypad.c
@@ -11,6 +11,7 @@
11*/ 11*/
12 12
13#include <linux/gpio.h> 13#include <linux/gpio.h>
14#include <linux/platform_data/gpio-samsung-s3c64xx.h>
14#include <plat/gpio-cfg.h> 15#include <plat/gpio-cfg.h>
15#include <plat/keypad.h> 16#include <plat/keypad.h>
16 17
diff --git a/arch/arm/mach-s3c64xx/setup-sdhci-gpio.c b/arch/arm/mach-s3c64xx/setup-sdhci-gpio.c
index 6eac071afae2..79192b7217df 100644
--- a/arch/arm/mach-s3c64xx/setup-sdhci-gpio.c
+++ b/arch/arm/mach-s3c64xx/setup-sdhci-gpio.c
@@ -17,6 +17,7 @@
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>
20 21
21#include <plat/gpio-cfg.h> 22#include <plat/gpio-cfg.h>
22#include <plat/sdhci.h> 23#include <plat/sdhci.h>
diff --git a/arch/arm/mach-s3c64xx/setup-spi.c b/arch/arm/mach-s3c64xx/setup-spi.c
index 4dc53450d715..dad4728ccb52 100644
--- a/arch/arm/mach-s3c64xx/setup-spi.c
+++ b/arch/arm/mach-s3c64xx/setup-spi.c
@@ -9,6 +9,7 @@
9 */ 9 */
10 10
11#include <linux/gpio.h> 11#include <linux/gpio.h>
12#include <linux/platform_data/gpio-samsung-s3c64xx.h>
12#include <plat/gpio-cfg.h> 13#include <plat/gpio-cfg.h>
13 14
14#ifdef CONFIG_S3C64XX_DEV_SPI0 15#ifdef CONFIG_S3C64XX_DEV_SPI0
diff --git a/arch/arm/plat-samsung/pm-gpio.c b/arch/arm/plat-samsung/pm-gpio.c
index 41fef6980230..c4efa1c2a5d1 100644
--- a/arch/arm/plat-samsung/pm-gpio.c
+++ b/arch/arm/plat-samsung/pm-gpio.c
@@ -22,6 +22,9 @@
22#ifdef CONFIG_ARCH_S3C24XX 22#ifdef CONFIG_ARCH_S3C24XX
23#include <linux/platform_data/gpio-samsung-s3c24xx.h> 23#include <linux/platform_data/gpio-samsung-s3c24xx.h>
24#endif 24#endif
25#ifdef CONFIG_ARCH_S3C64XX
26#include <linux/platform_data/gpio-samsung-s3c64xx.h>
27#endif
25#include <plat/gpio-core.h> 28#include <plat/gpio-core.h>
26#include <plat/pm.h> 29#include <plat/pm.h>
27 30