aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorMarek Szyprowski <m.szyprowski@samsung.com>2010-05-18 06:38:41 -0400
committerBen Dooks <ben-linux@fluff.org>2010-05-19 05:23:11 -0400
commit7904449021de399a03ec8a32e536d031a61def5b (patch)
tree610c804c4bd185147e5507f28de5b458121ea015 /arch
parent252b8efeba9cd1e28ade902275b27133114d2382 (diff)
ARM: S5PC100: Move gpio support from plat-s5pc1xx to mach-s5pc100
Move gpio-lib support from plat-s5pc1xx to mach-s5pc100. Only basic gpio functionality is now supported. Gpio interrupts are disabled temporarly and will be added later. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-s5pc100/Makefile2
-rw-r--r--arch/arm/mach-s5pc100/gpiolib.c (renamed from arch/arm/plat-s5pc1xx/gpiolib.c)11
-rw-r--r--arch/arm/mach-s5pc100/include/mach/regs-gpio.h (renamed from arch/arm/plat-s5pc1xx/include/plat/regs-gpio.h)0
-rw-r--r--arch/arm/mach-s5pc100/mach-smdkc100.c1
-rw-r--r--arch/arm/plat-s5pc1xx/Makefile3
5 files changed, 9 insertions, 8 deletions
diff --git a/arch/arm/mach-s5pc100/Makefile b/arch/arm/mach-s5pc100/Makefile
index 809ff10f768f..4199ce2b161a 100644
--- a/arch/arm/mach-s5pc100/Makefile
+++ b/arch/arm/mach-s5pc100/Makefile
@@ -11,7 +11,7 @@ obj- :=
11 11
12# Core support for S5PC100 system 12# Core support for S5PC100 system
13 13
14obj-$(CONFIG_CPU_S5PC100) += cpu.o 14obj-$(CONFIG_CPU_S5PC100) += cpu.o gpiolib.o
15 15
16# Helper and device support 16# Helper and device support
17 17
diff --git a/arch/arm/plat-s5pc1xx/gpiolib.c b/arch/arm/mach-s5pc100/gpiolib.c
index 5a97a8f8e368..c8e8336a3a12 100644
--- a/arch/arm/plat-s5pc1xx/gpiolib.c
+++ b/arch/arm/mach-s5pc100/gpiolib.c
@@ -17,11 +17,11 @@
17#include <linux/gpio.h> 17#include <linux/gpio.h>
18 18
19#include <mach/map.h> 19#include <mach/map.h>
20#include <mach/regs-gpio.h>
20 21
21#include <plat/gpio-core.h> 22#include <plat/gpio-core.h>
22#include <plat/gpio-cfg.h> 23#include <plat/gpio-cfg.h>
23#include <plat/gpio-cfg-helpers.h> 24#include <plat/gpio-cfg-helpers.h>
24#include <plat/regs-gpio.h>
25 25
26/* S5PC100 GPIO bank summary: 26/* S5PC100 GPIO bank summary:
27 * 27 *
@@ -61,6 +61,7 @@
61 * L3 8 4Bit None 61 * L3 8 4Bit None
62 */ 62 */
63 63
64#if 0
64static int s5pc1xx_gpiolib_to_irq(struct gpio_chip *chip, unsigned int offset) 65static int s5pc1xx_gpiolib_to_irq(struct gpio_chip *chip, unsigned int offset)
65{ 66{
66 return S3C_IRQ_GPIO(chip->base + offset); 67 return S3C_IRQ_GPIO(chip->base + offset);
@@ -84,7 +85,7 @@ static int s5pc1xx_gpiolib_to_eint(struct gpio_chip *chip, unsigned int offset)
84 return IRQ_EINT(24 + offset); 85 return IRQ_EINT(24 + offset);
85 return -EINVAL; 86 return -EINVAL;
86} 87}
87 88#endif
88static struct s3c_gpio_cfg gpio_cfg = { 89static struct s3c_gpio_cfg gpio_cfg = {
89 .set_config = s3c_gpio_setcfg_s3c64xx_4bit, 90 .set_config = s3c_gpio_setcfg_s3c64xx_4bit,
90 .set_pull = s3c_gpio_setpull_updown, 91 .set_pull = s3c_gpio_setpull_updown,
@@ -386,7 +387,7 @@ extern void s5pc1xx_irq_gpioint_handler(unsigned int irq, struct irq_desc *desc)
386 387
387static __init void s5pc100_gpiolib_link(struct s3c_gpio_chip *chip) 388static __init void s5pc100_gpiolib_link(struct s3c_gpio_chip *chip)
388{ 389{
389 390#if 0
390 /* Interrupt */ 391 /* Interrupt */
391 if (chip->config == &gpio_cfg) { 392 if (chip->config == &gpio_cfg) {
392 int i, irq; 393 int i, irq;
@@ -402,6 +403,7 @@ static __init void s5pc100_gpiolib_link(struct s3c_gpio_chip *chip)
402 } 403 }
403 } else if (chip->config == &gpio_cfg_eint) 404 } else if (chip->config == &gpio_cfg_eint)
404 chip->chip.to_irq = s5pc1xx_gpiolib_to_eint; 405 chip->chip.to_irq = s5pc1xx_gpiolib_to_eint;
406#endif
405} 407}
406 408
407static __init int s5pc1xx_gpiolib_init(void) 409static __init int s5pc1xx_gpiolib_init(void)
@@ -417,9 +419,10 @@ static __init int s5pc1xx_gpiolib_init(void)
417 419
418 samsung_gpiolib_add_4bit_chips(s5pc100_gpio_chips, 420 samsung_gpiolib_add_4bit_chips(s5pc100_gpio_chips,
419 ARRAY_SIZE(s5pc100_gpio_chips)); 421 ARRAY_SIZE(s5pc100_gpio_chips));
422#if 0
420 /* Interrupt */ 423 /* Interrupt */
421 set_irq_chained_handler(IRQ_GPIOINT, s5pc1xx_irq_gpioint_handler); 424 set_irq_chained_handler(IRQ_GPIOINT, s5pc1xx_irq_gpioint_handler);
422 425#endif
423 return 0; 426 return 0;
424} 427}
425core_initcall(s5pc1xx_gpiolib_init); 428core_initcall(s5pc1xx_gpiolib_init);
diff --git a/arch/arm/plat-s5pc1xx/include/plat/regs-gpio.h b/arch/arm/mach-s5pc100/include/mach/regs-gpio.h
index 43c7bc8bf784..43c7bc8bf784 100644
--- a/arch/arm/plat-s5pc1xx/include/plat/regs-gpio.h
+++ b/arch/arm/mach-s5pc100/include/mach/regs-gpio.h
diff --git a/arch/arm/mach-s5pc100/mach-smdkc100.c b/arch/arm/mach-s5pc100/mach-smdkc100.c
index ae3c52cd0ebb..bfe67db34f04 100644
--- a/arch/arm/mach-s5pc100/mach-smdkc100.c
+++ b/arch/arm/mach-s5pc100/mach-smdkc100.c
@@ -35,7 +35,6 @@
35 35
36#include <plat/regs-serial.h> 36#include <plat/regs-serial.h>
37#include <plat/gpio-cfg.h> 37#include <plat/gpio-cfg.h>
38#include <plat/regs-gpio.h>
39 38
40#include <plat/clock.h> 39#include <plat/clock.h>
41#include <plat/devs.h> 40#include <plat/devs.h>
diff --git a/arch/arm/plat-s5pc1xx/Makefile b/arch/arm/plat-s5pc1xx/Makefile
index 66a8f3eb7071..540fca5b4860 100644
--- a/arch/arm/plat-s5pc1xx/Makefile
+++ b/arch/arm/plat-s5pc1xx/Makefile
@@ -13,9 +13,8 @@ obj- :=
13 13
14obj-y += dev-uart.o 14obj-y += dev-uart.o
15obj-y += cpu.o 15obj-y += cpu.o
16obj-y += irq.o irq-gpio.o irq-eint.o 16obj-y += irq.o
17obj-y += clock.o 17obj-y += clock.o
18obj-y += gpiolib.o
19 18
20# CPU support 19# CPU support
21 20