aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Miao <eric.y.miao@gmail.com>2007-06-21 23:14:09 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2007-07-12 09:28:15 -0400
commitcd49104d99b56383a3b1fdce2f31018197093c31 (patch)
tree51ce37a0ff1396d6f9e5ca0f0f76deec127ead04
parent8118d124949ed8ff1a450e0c0d13cfab8c2ff7aa (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.c6
-rw-r--r--arch/arm/mach-pxa/generic.h6
-rw-r--r--arch/arm/mach-pxa/idp.c2
-rw-r--r--arch/arm/mach-pxa/irq.c9
-rw-r--r--arch/arm/mach-pxa/lpd270.c2
-rw-r--r--arch/arm/mach-pxa/lubbock.c2
-rw-r--r--arch/arm/mach-pxa/mainstone.c2
-rw-r--r--arch/arm/mach-pxa/poodle.c2
-rw-r--r--arch/arm/mach-pxa/pxa25x.c7
-rw-r--r--arch/arm/mach-pxa/pxa27x.c8
-rw-r--r--arch/arm/mach-pxa/spitz.c6
-rw-r--r--arch/arm/mach-pxa/tosa.c2
-rw-r--r--arch/arm/mach-pxa/trizeps4.c2
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,
374MACHINE_END 374MACHINE_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,
386MACHINE_END 386MACHINE_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,
398MACHINE_END 398MACHINE_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 @@
12struct sys_timer; 12struct sys_timer;
13 13
14extern struct sys_timer pxa_timer; 14extern struct sys_timer pxa_timer;
15extern void __init pxa_init_irq_low(void);
16extern void __init pxa_init_irq_high(void);
17extern void __init pxa_init_irq_gpio(int gpio_nr);
18extern void __init pxa25x_init_irq(void);
19extern void __init pxa27x_init_irq(void);
15extern void __init pxa_map_io(void); 20extern void __init pxa_map_io(void);
16extern void __init pxa_init_irq(void);
17 21
18extern unsigned int get_clk_frequency_khz(int info); 22extern 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)
152static void __init idp_init_irq(void) 152static 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
379void __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,
418MACHINE_END 418MACHINE_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
132void __init pxa25x_init_irq(void)
133{
134 pxa_init_irq_low();
135 pxa_init_irq_gpio(85);
136}
137
131static int __init pxa25x_init(void) 138static 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
206void __init pxa27x_init_irq(void)
207{
208 pxa_init_irq_low();
209 pxa_init_irq_high();
210 pxa_init_irq_gpio(128);
211}
212
205static int __init pxa27x_init(void) 213static 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,
566MACHINE_END 566MACHINE_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,
578MACHINE_END 578MACHINE_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,
590MACHINE_END 590MACHINE_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,
338MACHINE_END 338MACHINE_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,
508MACHINE_END 508MACHINE_END
509 509