Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 41c3548e authored by Linus Walleij's avatar Linus Walleij
Browse files

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: default avatarTomasz Figa <t.figa@samsung.com>
[for changes in mach-s3c64xx]
Acked-by: default avatarTomasz Figa <t.figa@samsung.com>
Tested-by: default avatarMark Brown <broonie@linaro.org>
Acked-by: default avatarKukjin Kim <kgene.kim@samsung.com>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent c67d0f29
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -732,7 +732,6 @@ config ARCH_S3C64XX
	select HAVE_S3C2410_I2C if I2C
	select HAVE_S3C2410_WATCHDOG if WATCHDOG
	select HAVE_TCM
	select NEED_MACH_GPIO_H
	select NO_IOPORT
	select PLAT_SAMSUNG
	select PM_GENERIC_DOMAINS
@@ -1592,7 +1591,7 @@ config ARM_PSCI
config ARCH_NR_GPIO
	int
	default 1024 if ARCH_SHMOBILE || ARCH_TEGRA
	default 512 if ARCH_EXYNOS || ARCH_KEYSTONE || SOC_OMAP5 || SOC_DRA7XX || ARCH_S3C24XX
	default 512 if ARCH_EXYNOS || ARCH_KEYSTONE || SOC_OMAP5 || SOC_DRA7XX || ARCH_S3C24XX || ARCH_S3C64XX
	default 392 if ARCH_U8500
	default 352 if ARCH_VT8500
	default 288 if ARCH_SUNXI
+0 −3
Original line number Diff line number Diff line
@@ -192,7 +192,6 @@ config SMDK6410_WM1190_EV1
	select MFD_WM8350_I2C
	select REGULATOR
	select REGULATOR_WM8350
	select SAMSUNG_GPIO_EXTRA64
	help
	  The Wolfson Microelectronics 1190-EV1 is a WM835x based PMIC
	  and audio daughtercard for the Samsung SMDK6410 reference
@@ -208,7 +207,6 @@ config SMDK6410_WM1192_EV1
	select MFD_WM831X_I2C
	select REGULATOR
	select REGULATOR_WM831X
	select SAMSUNG_GPIO_EXTRA64
	help
	  The Wolfson Microelectronics 1192-EV1 is a WM831x based PMIC
	  daughtercard for the Samsung SMDK6410 reference platform.
@@ -294,7 +292,6 @@ config MACH_WLF_CRAGG_6410
	select SAMSUNG_DEV_ADC
	select SAMSUNG_DEV_KEYPAD
	select SAMSUNG_DEV_PWM
	select SAMSUNG_GPIO_EXTRA128
	help
	  Machine support for the Wolfson Cragganmore S3C6410 variant.

+1 −0
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@
#include <linux/irq.h>
#include <linux/gpio.h>
#include <linux/irqchip/arm-vic.h>
#include <linux/platform_data/gpio-samsung-s3c64xx.h>
#include <clocksource/samsung_pwm.h>

#include <asm/mach/arch.h>
+1 −1
Original line number Diff line number Diff line
@@ -11,7 +11,7 @@
#ifndef MACH_CRAG6410_H
#define MACH_CRAG6410_H

#include <linux/gpio.h>
#include <linux/platform_data/gpio-samsung-s3c64xx.h>

#define GLENFARCLAS_PMIC_IRQ_BASE	IRQ_BOARD_START

+1 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@

#include <plat/devs.h>
#include <linux/platform_data/asoc-s3c.h>
#include <linux/platform_data/gpio-samsung-s3c64xx.h>
#include <plat/gpio-cfg.h>

static int s3c64xx_i2s_cfg_gpio(struct platform_device *pdev)
Loading