diff options
22 files changed, 20 insertions, 54 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index ea73acc1280..c32064de77d 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -239,13 +239,6 @@ config ARM_PATCH_PHYS_VIRT this feature (eg, building a kernel for a single machine) and you need to shrink the kernel to the minimal size. -config NEED_MACH_GPIO_H - bool - help - Select this when mach/gpio.h is required to provide special - definitions for this platform. The need for mach/gpio.h should - be avoided when possible. - config NEED_MACH_IO_H bool help @@ -770,7 +763,6 @@ config ARCH_S5PV210 select HAVE_S3C2410_I2C if I2C select HAVE_S3C2410_WATCHDOG if WATCHDOG select HAVE_S3C_RTC if RTC_CLASS - select NEED_MACH_GPIO_H select NEED_MACH_MEMORY_H select SAMSUNG_ATAGS help diff --git a/arch/arm/include/asm/gpio.h b/arch/arm/include/asm/gpio.h index 477e0206e01..504dcddebfc 100644 --- a/arch/arm/include/asm/gpio.h +++ b/arch/arm/include/asm/gpio.h @@ -5,12 +5,6 @@ #define ARCH_NR_GPIOS CONFIG_ARCH_NR_GPIO #endif -/* not all ARM platforms necessarily support this API ... */ -#ifdef CONFIG_NEED_MACH_GPIO_H -#include <mach/gpio.h> -#endif - -#ifndef __ARM_GPIOLIB_COMPLEX /* Note: this may rely upon the value of ARCH_NR_GPIOS set in mach/gpio.h */ #include <asm-generic/gpio.h> @@ -18,7 +12,6 @@ #define gpio_get_value __gpio_get_value #define gpio_set_value __gpio_set_value #define gpio_cansleep __gpio_cansleep -#endif /* * Provide a default gpio_to_irq() which should satisfy every case. diff --git a/arch/arm/mach-s5pv210/dev-audio.c b/arch/arm/mach-s5pv210/dev-audio.c index 2d67361ef43..90356ad10c5 100644 --- a/arch/arm/mach-s5pv210/dev-audio.c +++ b/arch/arm/mach-s5pv210/dev-audio.c @@ -10,7 +10,6 @@ #include <linux/platform_device.h> #include <linux/dma-mapping.h> -#include <linux/gpio.h> #include <plat/gpio-cfg.h> #include <linux/platform_data/asoc-s3c.h> @@ -18,6 +17,7 @@ #include <mach/map.h> #include <mach/dma.h> #include <mach/irqs.h> +#include <mach/gpio-samsung.h> #define S5PV210_AUDSS_INT_MEM (0xC0000000) diff --git a/arch/arm/mach-s5pv210/include/mach/gpio.h b/arch/arm/mach-s5pv210/include/mach/gpio-samsung.h index 6c8b903c02e..e193b891e7b 100644 --- a/arch/arm/mach-s5pv210/include/mach/gpio.h +++ b/arch/arm/mach-s5pv210/include/mach/gpio-samsung.h @@ -1,5 +1,4 @@ -/* linux/arch/arm/mach-s5pv210/include/mach/gpio.h - * +/* * Copyright (c) 2010 Samsung Electronics Co., Ltd. * http://www.samsung.com/ * @@ -133,8 +132,4 @@ enum s5p_gpio_number { #define S5PV210_GPIO_END (S5PV210_MP05(S5PV210_GPIO_MP05_NR) + 1) #define S3C_GPIO_END S5PV210_GPIO_END -/* define the number of gpios we need to the one after the MP05() range */ -#define ARCH_NR_GPIOS (S5PV210_MP05(S5PV210_GPIO_MP05_NR) + \ - CONFIG_SAMSUNG_GPIO_EXTRA + 1) - #endif /* __ASM_ARCH_GPIO_H */ diff --git a/arch/arm/mach-s5pv210/mach-aquila.c b/arch/arm/mach-s5pv210/mach-aquila.c index cc37edacda2..4262d8ff198 100644 --- a/arch/arm/mach-s5pv210/mach-aquila.c +++ b/arch/arm/mach-s5pv210/mach-aquila.c @@ -31,6 +31,7 @@ #include <video/samsung_fimd.h> #include <mach/map.h> #include <mach/regs-clock.h> +#include <mach/gpio-samsung.h> #include <plat/gpio-cfg.h> #include <plat/devs.h> diff --git a/arch/arm/mach-s5pv210/mach-goni.c b/arch/arm/mach-s5pv210/mach-goni.c index c1ce921c408..096a8173a1d 100644 --- a/arch/arm/mach-s5pv210/mach-goni.c +++ b/arch/arm/mach-s5pv210/mach-goni.c @@ -38,6 +38,7 @@ #include <video/samsung_fimd.h> #include <mach/map.h> #include <mach/regs-clock.h> +#include <mach/gpio-samsung.h> #include <plat/gpio-cfg.h> #include <plat/devs.h> diff --git a/arch/arm/mach-s5pv210/mach-smdkv210.c b/arch/arm/mach-s5pv210/mach-smdkv210.c index 2a6655fb63e..a146089c9ee 100644 --- a/arch/arm/mach-s5pv210/mach-smdkv210.c +++ b/arch/arm/mach-s5pv210/mach-smdkv210.c @@ -32,6 +32,7 @@ #include <mach/map.h> #include <mach/regs-clock.h> +#include <mach/gpio-samsung.h> #include <plat/regs-srom.h> #include <plat/gpio-cfg.h> diff --git a/arch/arm/mach-s5pv210/setup-fb-24bpp.c b/arch/arm/mach-s5pv210/setup-fb-24bpp.c index 55103c8220b..815e329f70c 100644 --- a/arch/arm/mach-s5pv210/setup-fb-24bpp.c +++ b/arch/arm/mach-s5pv210/setup-fb-24bpp.c @@ -13,12 +13,12 @@ #include <linux/kernel.h> #include <linux/types.h> #include <linux/fb.h> -#include <linux/gpio.h> #include <mach/map.h> #include <plat/fb.h> #include <mach/regs-clock.h> #include <plat/gpio-cfg.h> +#include <mach/gpio-samsung.h> static void s5pv210_fb_cfg_gpios(unsigned int base, unsigned int nr) { diff --git a/arch/arm/mach-s5pv210/setup-fimc.c b/arch/arm/mach-s5pv210/setup-fimc.c index 54cc5b11be0..36945ec437f 100644 --- a/arch/arm/mach-s5pv210/setup-fimc.c +++ b/arch/arm/mach-s5pv210/setup-fimc.c @@ -8,9 +8,10 @@ * published by the Free Software Foundation. */ -#include <linux/gpio.h> +#include <linux/kernel.h> #include <plat/gpio-cfg.h> #include <plat/camport.h> +#include <mach/gpio-samsung.h> int s5pv210_fimc_setup_gpio(enum s5p_camport_id id) { diff --git a/arch/arm/mach-s5pv210/setup-i2c0.c b/arch/arm/mach-s5pv210/setup-i2c0.c index 4a15849766c..b0f2b69ac74 100644 --- a/arch/arm/mach-s5pv210/setup-i2c0.c +++ b/arch/arm/mach-s5pv210/setup-i2c0.c @@ -14,12 +14,12 @@ #include <linux/kernel.h> #include <linux/types.h> -#include <linux/gpio.h> struct platform_device; /* don't need the contents */ #include <linux/platform_data/i2c-s3c2410.h> #include <plat/gpio-cfg.h> +#include <mach/gpio-samsung.h> void s3c_i2c0_cfg_gpio(struct platform_device *dev) { diff --git a/arch/arm/mach-s5pv210/setup-i2c1.c b/arch/arm/mach-s5pv210/setup-i2c1.c index 4777f6b97a9..aac1da7b907 100644 --- a/arch/arm/mach-s5pv210/setup-i2c1.c +++ b/arch/arm/mach-s5pv210/setup-i2c1.c @@ -14,12 +14,12 @@ #include <linux/kernel.h> #include <linux/types.h> -#include <linux/gpio.h> struct platform_device; /* don't need the contents */ #include <linux/platform_data/i2c-s3c2410.h> #include <plat/gpio-cfg.h> +#include <mach/gpio-samsung.h> void s3c_i2c1_cfg_gpio(struct platform_device *dev) { diff --git a/arch/arm/mach-s5pv210/setup-i2c2.c b/arch/arm/mach-s5pv210/setup-i2c2.c index bbce6c74b91..eff4503b903 100644 --- a/arch/arm/mach-s5pv210/setup-i2c2.c +++ b/arch/arm/mach-s5pv210/setup-i2c2.c @@ -14,12 +14,12 @@ #include <linux/kernel.h> #include <linux/types.h> -#include <linux/gpio.h> struct platform_device; /* don't need the contents */ #include <linux/platform_data/i2c-s3c2410.h> #include <plat/gpio-cfg.h> +#include <mach/gpio-samsung.h> void s3c_i2c2_cfg_gpio(struct platform_device *dev) { diff --git a/arch/arm/mach-s5pv210/setup-ide.c b/arch/arm/mach-s5pv210/setup-ide.c index ea123d546bd..5b6042d9789 100644 --- a/arch/arm/mach-s5pv210/setup-ide.c +++ b/arch/arm/mach-s5pv210/setup-ide.c @@ -11,9 +11,9 @@ */ #include <linux/kernel.h> -#include <linux/gpio.h> #include <plat/gpio-cfg.h> +#include <mach/gpio-samsung.h> static void s5pv210_ide_cfg_gpios(unsigned int base, unsigned int nr) { diff --git a/arch/arm/mach-s5pv210/setup-keypad.c b/arch/arm/mach-s5pv210/setup-keypad.c index c56420a52f4..faf6178f3a1 100644 --- a/arch/arm/mach-s5pv210/setup-keypad.c +++ b/arch/arm/mach-s5pv210/setup-keypad.c @@ -11,8 +11,8 @@ * */ -#include <linux/gpio.h> #include <plat/gpio-cfg.h> +#include <mach/gpio-samsung.h> void samsung_keypad_cfg_gpio(unsigned int rows, unsigned int cols) { diff --git a/arch/arm/mach-s5pv210/setup-sdhci-gpio.c b/arch/arm/mach-s5pv210/setup-sdhci-gpio.c index 0512ada0052..0dd055b4757 100644 --- a/arch/arm/mach-s5pv210/setup-sdhci-gpio.c +++ b/arch/arm/mach-s5pv210/setup-sdhci-gpio.c @@ -15,12 +15,12 @@ #include <linux/interrupt.h> #include <linux/platform_device.h> #include <linux/io.h> -#include <linux/gpio.h> #include <linux/mmc/host.h> #include <linux/mmc/card.h> #include <plat/gpio-cfg.h> #include <plat/sdhci.h> +#include <mach/gpio-samsung.h> void s5pv210_setup_sdhci0_cfg_gpio(struct platform_device *dev, int width) { diff --git a/arch/arm/mach-s5pv210/setup-spi.c b/arch/arm/mach-s5pv210/setup-spi.c index 81aecc162f8..e1faf8ea450 100644 --- a/arch/arm/mach-s5pv210/setup-spi.c +++ b/arch/arm/mach-s5pv210/setup-spi.c @@ -8,8 +8,8 @@ * published by the Free Software Foundation. */ -#include <linux/gpio.h> #include <plat/gpio-cfg.h> +#include <mach/gpio-samsung.h> #ifdef CONFIG_S3C64XX_DEV_SPI0 int s3c64xx_spi0_cfg_gpio(void) diff --git a/arch/arm/plat-samsung/Kconfig b/arch/arm/plat-samsung/Kconfig index 1c629c2c270..6910c866974 100644 --- a/arch/arm/plat-samsung/Kconfig +++ b/arch/arm/plat-samsung/Kconfig @@ -107,22 +107,6 @@ config S5P_GPIO_DRVSTR Internal configuration to get and set correct GPIO driver strength helper -config SAMSUNG_GPIO_EXTRA - int "Number of additional GPIO pins" - default 128 if SAMSUNG_GPIO_EXTRA128 - default 64 if SAMSUNG_GPIO_EXTRA64 - default 0 - help - Use additional GPIO space in addition to the GPIO's the SOC - provides. This allows expanding the GPIO space for use with - GPIO expanders. - -config SAMSUNG_GPIO_EXTRA64 - bool - -config SAMSUNG_GPIO_EXTRA128 - bool - config S3C_GPIO_SPACE int "Space between gpio banks" default 0 diff --git a/arch/arm/plat-samsung/include/plat/gpio-core.h b/arch/arm/plat-samsung/include/plat/gpio-core.h index cf5aae5b097..6ce11bfdc37 100644 --- a/arch/arm/plat-samsung/include/plat/gpio-core.h +++ b/arch/arm/plat-samsung/include/plat/gpio-core.h @@ -14,6 +14,9 @@ #ifndef __PLAT_SAMSUNG_GPIO_CORE_H #define __PLAT_SAMSUNG_GPIO_CORE_H +/* Bring in machine-local definitions, especially S3C_GPIO_END */ +#include <mach/gpio-samsung.h> + #define GPIOCON_OFF (0x00) #define GPIODAT_OFF (0x04) diff --git a/arch/arm/plat-samsung/pm-gpio.c b/arch/arm/plat-samsung/pm-gpio.c index da268813901..adc91662f72 100644 --- a/arch/arm/plat-samsung/pm-gpio.c +++ b/arch/arm/plat-samsung/pm-gpio.c @@ -19,9 +19,7 @@ #include <linux/io.h> #include <linux/gpio.h> -#if defined(CONFIG_ARCH_S3C24XX) || defined(CONFIG_ARCH_S3C64XX) #include <mach/gpio-samsung.h> -#endif #include <plat/gpio-core.h> #include <plat/pm.h> diff --git a/arch/arm/plat-samsung/s5p-irq-eint.c b/arch/arm/plat-samsung/s5p-irq-eint.c index ebee4dc11a9..dcd8c2cbf5b 100644 --- a/arch/arm/plat-samsung/s5p-irq-eint.c +++ b/arch/arm/plat-samsung/s5p-irq-eint.c @@ -14,7 +14,6 @@ #include <linux/irq.h> #include <linux/io.h> #include <linux/device.h> -#include <linux/gpio.h> #include <linux/irqchip/arm-vic.h> #include <linux/of.h> @@ -26,6 +25,7 @@ #include <plat/gpio-cfg.h> #include <mach/regs-gpio.h> +#include <mach/gpio-samsung.h> static inline void s5p_irq_eint_mask(struct irq_data *data) { diff --git a/drivers/gpio/gpio-samsung.c b/drivers/gpio/gpio-samsung.c index 7d4281e0d90..d9cff026827 100644 --- a/drivers/gpio/gpio-samsung.c +++ b/drivers/gpio/gpio-samsung.c @@ -32,10 +32,7 @@ #include <mach/map.h> #include <mach/regs-gpio.h> - -#if defined(CONFIG_ARCH_S3C24XX) || defined(CONFIG_ARCH_S3C64XX) #include <mach/gpio-samsung.h> -#endif #include <plat/cpu.h> #include <plat/gpio-core.h> diff --git a/sound/soc/samsung/goni_wm8994.c b/sound/soc/samsung/goni_wm8994.c index 9506d761722..3b527dcfc0a 100644 --- a/sound/soc/samsung/goni_wm8994.c +++ b/sound/soc/samsung/goni_wm8994.c @@ -16,7 +16,7 @@ #include <sound/jack.h> #include <asm/mach-types.h> -#include <mach/gpio.h> +#include <mach/gpio-samsung.h> #include "../codecs/wm8994.h" |