diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-16 13:32:02 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-16 13:32:02 -0400 |
commit | b91cba52e9b7b3f1c0037908a192d93a869ca9e5 (patch) | |
tree | bbce7f323c8f52b308af5a152673a75b3e445360 /arch/sh/boards/se/7751/irq.c | |
parent | 98283bb49c6c8c070ebde9f47489d3e9a83c1323 (diff) | |
parent | e509ac4bbc661052dc73a2e8138800ba77d4ecb9 (diff) |
Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6: (68 commits)
sh: sh-rtc support for SH7709.
sh: Revert __xdiv64_32 size change.
sh: Update r7785rp defconfig.
sh: Export div symbols for GCC 4.2 and ST GCC.
sh: fix race in parallel out-of-tree build
sh: Kill off dead mach.c for hp6xx.
sh: hd64461.h cleanup and added comments.
sh: Update the alignment when 4K stacks are used.
sh: Add a .bss.page_aligned section for 4K stacks.
sh: Don't let SH-4A clobber SH-4 CFLAGS.
sh: Add parport stub for SuperIO ports.
sh: Drop -Wa,-dsp for DSP tuning.
sh: Update dreamcast defconfig.
fb: pvr2fb: A few more __devinit annotations for PCI.
fb: pvr2fb: Fix up section mismatch warnings.
sh: Select IPR-IRQ for SH7091.
sh: Correct __xdiv64_32/div64_32 return value size.
sh: Fix timer-tmu build for SH-3.
sh: Add cpu and mach links to CLEAN_FILES.
sh: Preliminary support for the SH-X3 CPU.
...
Diffstat (limited to 'arch/sh/boards/se/7751/irq.c')
-rw-r--r-- | arch/sh/boards/se/7751/irq.c | 59 |
1 files changed, 23 insertions, 36 deletions
diff --git a/arch/sh/boards/se/7751/irq.c b/arch/sh/boards/se/7751/irq.c index e4c63a48296..c3d12590e5d 100644 --- a/arch/sh/boards/se/7751/irq.c +++ b/arch/sh/boards/se/7751/irq.c | |||
@@ -14,44 +14,31 @@ | |||
14 | #include <asm/irq.h> | 14 | #include <asm/irq.h> |
15 | #include <asm/se7751.h> | 15 | #include <asm/se7751.h> |
16 | 16 | ||
17 | static struct ipr_data se7751_ipr_map[] = { | 17 | static struct ipr_data ipr_irq_table[] = { |
18 | /* Leave old Solution Engine code in for reference. */ | 18 | { 13, 3, 3, 2 }, |
19 | #if defined(CONFIG_SH_SOLUTION_ENGINE) | 19 | /* Add additional entries here as drivers are added and tested. */ |
20 | /* | 20 | }; |
21 | * Super I/O (Just mimic PC): | ||
22 | * 1: keyboard | ||
23 | * 3: serial 0 | ||
24 | * 4: serial 1 | ||
25 | * 5: printer | ||
26 | * 6: floppy | ||
27 | * 8: rtc | ||
28 | * 12: mouse | ||
29 | * 14: ide0 | ||
30 | */ | ||
31 | { 14, BCR_ILCRA, 2, 0x0f-14 }, | ||
32 | { 12, BCR_ILCRA, 1, 0x0f-12 }, | ||
33 | { 8, BCR_ILCRB, 1, 0x0f- 8 }, | ||
34 | { 6, BCR_ILCRC, 3, 0x0f- 6 }, | ||
35 | { 5, BCR_ILCRC, 2, 0x0f- 5 }, | ||
36 | { 4, BCR_ILCRC, 1, 0x0f- 4 }, | ||
37 | { 3, BCR_ILCRC, 0, 0x0f- 3 }, | ||
38 | { 1, BCR_ILCRD, 3, 0x0f- 1 }, | ||
39 | 21 | ||
40 | { 10, BCR_ILCRD, 1, 0x0f-10 }, /* LAN */ | 22 | static unsigned long ipr_offsets[] = { |
23 | BCR_ILCRA, | ||
24 | BCR_ILCRB, | ||
25 | BCR_ILCRC, | ||
26 | BCR_ILCRD, | ||
27 | BCR_ILCRE, | ||
28 | BCR_ILCRF, | ||
29 | BCR_ILCRG, | ||
30 | }; | ||
41 | 31 | ||
42 | { 0, BCR_ILCRE, 3, 0x0f- 0 }, /* PCIRQ3 */ | 32 | static struct ipr_desc ipr_irq_desc = { |
43 | { 11, BCR_ILCRE, 2, 0x0f-11 }, /* PCIRQ2 */ | 33 | .ipr_offsets = ipr_offsets, |
44 | { 9, BCR_ILCRE, 1, 0x0f- 9 }, /* PCIRQ1 */ | 34 | .nr_offsets = ARRAY_SIZE(ipr_offsets), |
45 | { 7, BCR_ILCRE, 0, 0x0f- 7 }, /* PCIRQ0 */ | ||
46 | 35 | ||
47 | /* #2, #13 are allocated for SLOT IRQ #1 and #2 (for now) */ | 36 | .ipr_data = ipr_irq_table, |
48 | /* NOTE: #2 and #13 are not used on PC */ | 37 | .nr_irqs = ARRAY_SIZE(ipr_irq_table), |
49 | { 13, BCR_ILCRG, 1, 0x0f-13 }, /* SLOTIRQ2 */ | 38 | |
50 | { 2, BCR_ILCRG, 0, 0x0f- 2 }, /* SLOTIRQ1 */ | 39 | .chip = { |
51 | #elif defined(CONFIG_SH_7751_SOLUTION_ENGINE) | 40 | .name = "IPR-se7751", |
52 | { 13, BCR_ILCRD, 3, 2 }, | 41 | }, |
53 | /* Add additional entries here as drivers are added and tested. */ | ||
54 | #endif | ||
55 | }; | 42 | }; |
56 | 43 | ||
57 | /* | 44 | /* |
@@ -59,5 +46,5 @@ static struct ipr_data se7751_ipr_map[] = { | |||
59 | */ | 46 | */ |
60 | void __init init_7751se_IRQ(void) | 47 | void __init init_7751se_IRQ(void) |
61 | { | 48 | { |
62 | make_ipr_irq(se7751_ipr_map, ARRAY_SIZE(se7751_ipr_map)); | 49 | register_ipr_controller(&ipr_irq_desc); |
63 | } | 50 | } |