diff options
author | Eric Miao <eric.y.miao@gmail.com> | 2007-06-21 23:14:09 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2007-07-12 09:28:15 -0400 |
commit | cd49104d99b56383a3b1fdce2f31018197093c31 (patch) | |
tree | 51ce37a0ff1396d6f9e5ca0f0f76deec127ead04 | |
parent | 8118d124949ed8ff1a450e0c0d13cfab8c2ff7aa (diff) |
[ARM] 4450/1: pxa: add pxa25x_init_irq() and pxa27x_init_irq()
/* should be ok this time, I aligned this patch to your arm:pxa2.mbox */
1. move pxa25x specific IRQ initialization code to pxa25x_init_irq()
and pxa27x code to pxa27x_init_irq(), remove pxa_init_irq()
2. replace all pxa_init_irq() with their PXA25x or PXA27x specific
functions
Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r-- | arch/arm/mach-pxa/corgi.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-pxa/generic.h | 6 | ||||
-rw-r--r-- | arch/arm/mach-pxa/idp.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-pxa/irq.c | 9 | ||||
-rw-r--r-- | arch/arm/mach-pxa/lpd270.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-pxa/lubbock.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-pxa/mainstone.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-pxa/poodle.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-pxa/pxa25x.c | 7 | ||||
-rw-r--r-- | arch/arm/mach-pxa/pxa27x.c | 8 | ||||
-rw-r--r-- | arch/arm/mach-pxa/spitz.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-pxa/tosa.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-pxa/trizeps4.c | 2 |
13 files changed, 33 insertions, 23 deletions
diff --git a/arch/arm/mach-pxa/corgi.c b/arch/arm/mach-pxa/corgi.c index a1a900d16665..a12eb18391b1 100644 --- a/arch/arm/mach-pxa/corgi.c +++ b/arch/arm/mach-pxa/corgi.c | |||
@@ -368,7 +368,7 @@ MACHINE_START(CORGI, "SHARP Corgi") | |||
368 | .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, | 368 | .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, |
369 | .fixup = fixup_corgi, | 369 | .fixup = fixup_corgi, |
370 | .map_io = pxa_map_io, | 370 | .map_io = pxa_map_io, |
371 | .init_irq = pxa_init_irq, | 371 | .init_irq = pxa25x_init_irq, |
372 | .init_machine = corgi_init, | 372 | .init_machine = corgi_init, |
373 | .timer = &pxa_timer, | 373 | .timer = &pxa_timer, |
374 | MACHINE_END | 374 | MACHINE_END |
@@ -380,7 +380,7 @@ MACHINE_START(SHEPHERD, "SHARP Shepherd") | |||
380 | .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, | 380 | .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, |
381 | .fixup = fixup_corgi, | 381 | .fixup = fixup_corgi, |
382 | .map_io = pxa_map_io, | 382 | .map_io = pxa_map_io, |
383 | .init_irq = pxa_init_irq, | 383 | .init_irq = pxa25x_init_irq, |
384 | .init_machine = corgi_init, | 384 | .init_machine = corgi_init, |
385 | .timer = &pxa_timer, | 385 | .timer = &pxa_timer, |
386 | MACHINE_END | 386 | MACHINE_END |
@@ -392,7 +392,7 @@ MACHINE_START(HUSKY, "SHARP Husky") | |||
392 | .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, | 392 | .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, |
393 | .fixup = fixup_corgi, | 393 | .fixup = fixup_corgi, |
394 | .map_io = pxa_map_io, | 394 | .map_io = pxa_map_io, |
395 | .init_irq = pxa_init_irq, | 395 | .init_irq = pxa25x_init_irq, |
396 | .init_machine = corgi_init, | 396 | .init_machine = corgi_init, |
397 | .timer = &pxa_timer, | 397 | .timer = &pxa_timer, |
398 | MACHINE_END | 398 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/generic.h b/arch/arm/mach-pxa/generic.h index e54a8dd63c17..91ab2ad8b34b 100644 --- a/arch/arm/mach-pxa/generic.h +++ b/arch/arm/mach-pxa/generic.h | |||
@@ -12,8 +12,12 @@ | |||
12 | struct sys_timer; | 12 | struct sys_timer; |
13 | 13 | ||
14 | extern struct sys_timer pxa_timer; | 14 | extern struct sys_timer pxa_timer; |
15 | extern void __init pxa_init_irq_low(void); | ||
16 | extern void __init pxa_init_irq_high(void); | ||
17 | extern void __init pxa_init_irq_gpio(int gpio_nr); | ||
18 | extern void __init pxa25x_init_irq(void); | ||
19 | extern void __init pxa27x_init_irq(void); | ||
15 | extern void __init pxa_map_io(void); | 20 | extern void __init pxa_map_io(void); |
16 | extern void __init pxa_init_irq(void); | ||
17 | 21 | ||
18 | extern unsigned int get_clk_frequency_khz(int info); | 22 | extern unsigned int get_clk_frequency_khz(int info); |
19 | 23 | ||
diff --git a/arch/arm/mach-pxa/idp.c b/arch/arm/mach-pxa/idp.c index 64df44043a65..ffa73fae3d8d 100644 --- a/arch/arm/mach-pxa/idp.c +++ b/arch/arm/mach-pxa/idp.c | |||
@@ -152,7 +152,7 @@ static void __init idp_init(void) | |||
152 | static void __init idp_init_irq(void) | 152 | static void __init idp_init_irq(void) |
153 | { | 153 | { |
154 | 154 | ||
155 | pxa_init_irq(); | 155 | pxa25x_init_irq(); |
156 | 156 | ||
157 | set_irq_type(TOUCH_PANEL_IRQ, TOUCH_PANEL_IRQ_EDGE); | 157 | set_irq_type(TOUCH_PANEL_IRQ, TOUCH_PANEL_IRQ_EDGE); |
158 | } | 158 | } |
diff --git a/arch/arm/mach-pxa/irq.c b/arch/arm/mach-pxa/irq.c index 09d2fe19c85f..4b867b0789d5 100644 --- a/arch/arm/mach-pxa/irq.c +++ b/arch/arm/mach-pxa/irq.c | |||
@@ -375,12 +375,3 @@ void __init pxa_init_irq_gpio(int gpio_nr) | |||
375 | set_irq_chip(IRQ_GPIO_2_x, &pxa_internal_chip_low); | 375 | set_irq_chip(IRQ_GPIO_2_x, &pxa_internal_chip_low); |
376 | set_irq_chained_handler(IRQ_GPIO_2_x, pxa_gpio_demux_handler); | 376 | set_irq_chained_handler(IRQ_GPIO_2_x, pxa_gpio_demux_handler); |
377 | } | 377 | } |
378 | |||
379 | void __init pxa_init_irq(void) | ||
380 | { | ||
381 | pxa_init_irq_low(); | ||
382 | #ifdef CONFIG_PXA27x | ||
383 | pxa_init_irq_high(); | ||
384 | #endif | ||
385 | pxa_init_irq_gpio(PXA_LAST_GPIO + 1); | ||
386 | } | ||
diff --git a/arch/arm/mach-pxa/lpd270.c b/arch/arm/mach-pxa/lpd270.c index e3097664ffe1..7949f60d7d7f 100644 --- a/arch/arm/mach-pxa/lpd270.c +++ b/arch/arm/mach-pxa/lpd270.c | |||
@@ -97,7 +97,7 @@ static void __init lpd270_init_irq(void) | |||
97 | { | 97 | { |
98 | int irq; | 98 | int irq; |
99 | 99 | ||
100 | pxa_init_irq(); | 100 | pxa27x_init_irq(); |
101 | 101 | ||
102 | __raw_writew(0, LPD270_INT_MASK); | 102 | __raw_writew(0, LPD270_INT_MASK); |
103 | __raw_writew(0, LPD270_INT_STATUS); | 103 | __raw_writew(0, LPD270_INT_STATUS); |
diff --git a/arch/arm/mach-pxa/lubbock.c b/arch/arm/mach-pxa/lubbock.c index 6377b2e29ff0..45a3c7e635b5 100644 --- a/arch/arm/mach-pxa/lubbock.c +++ b/arch/arm/mach-pxa/lubbock.c | |||
@@ -103,7 +103,7 @@ static void __init lubbock_init_irq(void) | |||
103 | { | 103 | { |
104 | int irq; | 104 | int irq; |
105 | 105 | ||
106 | pxa_init_irq(); | 106 | pxa25x_init_irq(); |
107 | 107 | ||
108 | /* setup extra lubbock irqs */ | 108 | /* setup extra lubbock irqs */ |
109 | for (irq = LUBBOCK_IRQ(0); irq <= LUBBOCK_LAST_IRQ; irq++) { | 109 | for (irq = LUBBOCK_IRQ(0); irq <= LUBBOCK_LAST_IRQ; irq++) { |
diff --git a/arch/arm/mach-pxa/mainstone.c b/arch/arm/mach-pxa/mainstone.c index ed99a81b98f3..086b4e2f5bef 100644 --- a/arch/arm/mach-pxa/mainstone.c +++ b/arch/arm/mach-pxa/mainstone.c | |||
@@ -89,7 +89,7 @@ static void __init mainstone_init_irq(void) | |||
89 | { | 89 | { |
90 | int irq; | 90 | int irq; |
91 | 91 | ||
92 | pxa_init_irq(); | 92 | pxa27x_init_irq(); |
93 | 93 | ||
94 | /* setup extra Mainstone irqs */ | 94 | /* setup extra Mainstone irqs */ |
95 | for(irq = MAINSTONE_IRQ(0); irq <= MAINSTONE_IRQ(15); irq++) { | 95 | for(irq = MAINSTONE_IRQ(0); irq <= MAINSTONE_IRQ(15); irq++) { |
diff --git a/arch/arm/mach-pxa/poodle.c b/arch/arm/mach-pxa/poodle.c index 34fb80b37023..53eaccfd6da7 100644 --- a/arch/arm/mach-pxa/poodle.c +++ b/arch/arm/mach-pxa/poodle.c | |||
@@ -412,7 +412,7 @@ MACHINE_START(POODLE, "SHARP Poodle") | |||
412 | .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, | 412 | .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, |
413 | .fixup = fixup_poodle, | 413 | .fixup = fixup_poodle, |
414 | .map_io = pxa_map_io, | 414 | .map_io = pxa_map_io, |
415 | .init_irq = pxa_init_irq, | 415 | .init_irq = pxa25x_init_irq, |
416 | .timer = &pxa_timer, | 416 | .timer = &pxa_timer, |
417 | .init_machine = poodle_init, | 417 | .init_machine = poodle_init, |
418 | MACHINE_END | 418 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/pxa25x.c b/arch/arm/mach-pxa/pxa25x.c index fe29c6e03a4f..a8796aea8353 100644 --- a/arch/arm/mach-pxa/pxa25x.c +++ b/arch/arm/mach-pxa/pxa25x.c | |||
@@ -22,6 +22,7 @@ | |||
22 | #include <linux/pm.h> | 22 | #include <linux/pm.h> |
23 | 23 | ||
24 | #include <asm/hardware.h> | 24 | #include <asm/hardware.h> |
25 | #include <asm/arch/irqs.h> | ||
25 | #include <asm/arch/pxa-regs.h> | 26 | #include <asm/arch/pxa-regs.h> |
26 | #include <asm/arch/pm.h> | 27 | #include <asm/arch/pm.h> |
27 | 28 | ||
@@ -128,6 +129,12 @@ static struct pm_ops pxa25x_pm_ops = { | |||
128 | }; | 129 | }; |
129 | #endif | 130 | #endif |
130 | 131 | ||
132 | void __init pxa25x_init_irq(void) | ||
133 | { | ||
134 | pxa_init_irq_low(); | ||
135 | pxa_init_irq_gpio(85); | ||
136 | } | ||
137 | |||
131 | static int __init pxa25x_init(void) | 138 | static int __init pxa25x_init(void) |
132 | { | 139 | { |
133 | if (cpu_is_pxa21x() || cpu_is_pxa25x()) { | 140 | if (cpu_is_pxa21x() || cpu_is_pxa25x()) { |
diff --git a/arch/arm/mach-pxa/pxa27x.c b/arch/arm/mach-pxa/pxa27x.c index ac40fa5f7709..1407985c8ab0 100644 --- a/arch/arm/mach-pxa/pxa27x.c +++ b/arch/arm/mach-pxa/pxa27x.c | |||
@@ -19,6 +19,7 @@ | |||
19 | 19 | ||
20 | #include <asm/hardware.h> | 20 | #include <asm/hardware.h> |
21 | #include <asm/irq.h> | 21 | #include <asm/irq.h> |
22 | #include <asm/arch/irqs.h> | ||
22 | #include <asm/arch/pxa-regs.h> | 23 | #include <asm/arch/pxa-regs.h> |
23 | #include <asm/arch/ohci.h> | 24 | #include <asm/arch/ohci.h> |
24 | #include <asm/arch/pm.h> | 25 | #include <asm/arch/pm.h> |
@@ -202,6 +203,13 @@ static struct platform_device *devices[] __initdata = { | |||
202 | &ohci_device, | 203 | &ohci_device, |
203 | }; | 204 | }; |
204 | 205 | ||
206 | void __init pxa27x_init_irq(void) | ||
207 | { | ||
208 | pxa_init_irq_low(); | ||
209 | pxa_init_irq_high(); | ||
210 | pxa_init_irq_gpio(128); | ||
211 | } | ||
212 | |||
205 | static int __init pxa27x_init(void) | 213 | static int __init pxa27x_init(void) |
206 | { | 214 | { |
207 | int ret = 0; | 215 | int ret = 0; |
diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c index 3cbac63bed3c..838b73d159e3 100644 --- a/arch/arm/mach-pxa/spitz.c +++ b/arch/arm/mach-pxa/spitz.c | |||
@@ -560,7 +560,7 @@ MACHINE_START(SPITZ, "SHARP Spitz") | |||
560 | .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, | 560 | .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, |
561 | .fixup = fixup_spitz, | 561 | .fixup = fixup_spitz, |
562 | .map_io = pxa_map_io, | 562 | .map_io = pxa_map_io, |
563 | .init_irq = pxa_init_irq, | 563 | .init_irq = pxa27x_init_irq, |
564 | .init_machine = spitz_init, | 564 | .init_machine = spitz_init, |
565 | .timer = &pxa_timer, | 565 | .timer = &pxa_timer, |
566 | MACHINE_END | 566 | MACHINE_END |
@@ -572,7 +572,7 @@ MACHINE_START(BORZOI, "SHARP Borzoi") | |||
572 | .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, | 572 | .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, |
573 | .fixup = fixup_spitz, | 573 | .fixup = fixup_spitz, |
574 | .map_io = pxa_map_io, | 574 | .map_io = pxa_map_io, |
575 | .init_irq = pxa_init_irq, | 575 | .init_irq = pxa27x_init_irq, |
576 | .init_machine = spitz_init, | 576 | .init_machine = spitz_init, |
577 | .timer = &pxa_timer, | 577 | .timer = &pxa_timer, |
578 | MACHINE_END | 578 | MACHINE_END |
@@ -584,7 +584,7 @@ MACHINE_START(AKITA, "SHARP Akita") | |||
584 | .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, | 584 | .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, |
585 | .fixup = fixup_spitz, | 585 | .fixup = fixup_spitz, |
586 | .map_io = pxa_map_io, | 586 | .map_io = pxa_map_io, |
587 | .init_irq = pxa_init_irq, | 587 | .init_irq = pxa27x_init_irq, |
588 | .init_machine = akita_init, | 588 | .init_machine = akita_init, |
589 | .timer = &pxa_timer, | 589 | .timer = &pxa_timer, |
590 | MACHINE_END | 590 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/tosa.c b/arch/arm/mach-pxa/tosa.c index 72738771fb57..017253466005 100644 --- a/arch/arm/mach-pxa/tosa.c +++ b/arch/arm/mach-pxa/tosa.c | |||
@@ -332,7 +332,7 @@ MACHINE_START(TOSA, "SHARP Tosa") | |||
332 | .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, | 332 | .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, |
333 | .fixup = fixup_tosa, | 333 | .fixup = fixup_tosa, |
334 | .map_io = pxa_map_io, | 334 | .map_io = pxa_map_io, |
335 | .init_irq = pxa_init_irq, | 335 | .init_irq = pxa25x_init_irq, |
336 | .init_machine = tosa_init, | 336 | .init_machine = tosa_init, |
337 | .timer = &pxa_timer, | 337 | .timer = &pxa_timer, |
338 | MACHINE_END | 338 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/trizeps4.c b/arch/arm/mach-pxa/trizeps4.c index 28c79bd0a3a0..47a1f7ee2bbb 100644 --- a/arch/arm/mach-pxa/trizeps4.c +++ b/arch/arm/mach-pxa/trizeps4.c | |||
@@ -503,7 +503,7 @@ MACHINE_START(TRIZEPS4, "Keith und Koep Trizeps IV module") | |||
503 | .boot_params = TRIZEPS4_SDRAM_BASE + 0x100, | 503 | .boot_params = TRIZEPS4_SDRAM_BASE + 0x100, |
504 | .init_machine = trizeps4_init, | 504 | .init_machine = trizeps4_init, |
505 | .map_io = trizeps4_map_io, | 505 | .map_io = trizeps4_map_io, |
506 | .init_irq = pxa_init_irq, | 506 | .init_irq = pxa27x_init_irq, |
507 | .timer = &pxa_timer, | 507 | .timer = &pxa_timer, |
508 | MACHINE_END | 508 | MACHINE_END |
509 | 509 | ||