ARM: s3c64xx: get rid of custom <mach/gpio.h>
authorLinus Walleij <linus.walleij@linaro.org>
Fri, 6 Dec 2013 11:46:27 +0000 (12:46 +0100)
committerLinus Walleij <linus.walleij@linaro.org>
Fri, 20 Dec 2013 17:19:36 +0000 (18:19 +0100)
commit41c3548e6da67786bcaf8ee7b406f6f85ddd816b
treea1d57c285d2113ce97ca8bfd817a6e42c400474e
parentc67d0f29262bf6f863ce74d0756618bbd9ba80fd
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>
26 files changed:
arch/arm/Kconfig
arch/arm/mach-s3c64xx/Kconfig
arch/arm/mach-s3c64xx/common.c
arch/arm/mach-s3c64xx/crag6410.h
arch/arm/mach-s3c64xx/dev-audio.c
arch/arm/mach-s3c64xx/mach-anw6410.c
arch/arm/mach-s3c64xx/mach-crag6410.c
arch/arm/mach-s3c64xx/mach-hmt.c
arch/arm/mach-s3c64xx/mach-mini6410.c
arch/arm/mach-s3c64xx/mach-real6410.c
arch/arm/mach-s3c64xx/mach-smartq.c
arch/arm/mach-s3c64xx/mach-smartq5.c
arch/arm/mach-s3c64xx/mach-smartq7.c
arch/arm/mach-s3c64xx/mach-smdk6400.c
arch/arm/mach-s3c64xx/mach-smdk6410.c
arch/arm/mach-s3c64xx/pm.c
arch/arm/mach-s3c64xx/setup-fb-24bpp.c
arch/arm/mach-s3c64xx/setup-i2c0.c
arch/arm/mach-s3c64xx/setup-i2c1.c
arch/arm/mach-s3c64xx/setup-ide.c
arch/arm/mach-s3c64xx/setup-keypad.c
arch/arm/mach-s3c64xx/setup-sdhci-gpio.c
arch/arm/mach-s3c64xx/setup-spi.c
arch/arm/plat-samsung/pm-gpio.c
drivers/gpio/gpio-samsung.c
include/linux/platform_data/gpio-samsung-s3c64xx.h [moved from arch/arm/mach-s3c64xx/include/mach/gpio.h with 95% similarity]