diff options
author | Geert Uytterhoeven <geert@linux-m68k.org> | 2011-09-11 05:54:50 -0400 |
---|---|---|
committer | Geert Uytterhoeven <geert@linux-m68k.org> | 2011-11-08 16:35:52 -0500 |
commit | f30a6484f1bcb410d0af0c24f34b8e3d92682a05 (patch) | |
tree | 18c01955ef5260d5f4b0412961e68dd1c7a4938f | |
parent | d890d73995257b4e10cdd7d55bad80e34a71ba22 (diff) |
m68k/irq: Remove obsolete support for user vector interrupt fixups
It was used on Apollo only, before its conversion to genirq.
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-rw-r--r-- | arch/m68k/apollo/dn_ints.c | 2 | ||||
-rw-r--r-- | arch/m68k/atari/ataints.c | 2 | ||||
-rw-r--r-- | arch/m68k/bvme6000/config.c | 2 | ||||
-rw-r--r-- | arch/m68k/include/asm/irq.h | 4 | ||||
-rw-r--r-- | arch/m68k/kernel/entry_mm.S | 3 | ||||
-rw-r--r-- | arch/m68k/kernel/ints.c | 11 | ||||
-rw-r--r-- | arch/m68k/mvme147/config.c | 2 | ||||
-rw-r--r-- | arch/m68k/mvme16x/config.c | 2 | ||||
-rw-r--r-- | arch/m68k/sun3/sun3ints.c | 2 |
9 files changed, 10 insertions, 20 deletions
diff --git a/arch/m68k/apollo/dn_ints.c b/arch/m68k/apollo/dn_ints.c index b7d0aa37d199..17be1e7e2df2 100644 --- a/arch/m68k/apollo/dn_ints.c +++ b/arch/m68k/apollo/dn_ints.c | |||
@@ -41,7 +41,7 @@ static struct irq_chip apollo_irq_chip = { | |||
41 | 41 | ||
42 | void __init dn_init_IRQ(void) | 42 | void __init dn_init_IRQ(void) |
43 | { | 43 | { |
44 | m68k_setup_user_interrupt(VEC_USER + 96, 16, NULL); | 44 | m68k_setup_user_interrupt(VEC_USER + 96, 16); |
45 | m68k_setup_irq_controller(&apollo_irq_chip, handle_fasteoi_irq, | 45 | m68k_setup_irq_controller(&apollo_irq_chip, handle_fasteoi_irq, |
46 | IRQ_APOLLO, 16); | 46 | IRQ_APOLLO, 16); |
47 | } | 47 | } |
diff --git a/arch/m68k/atari/ataints.c b/arch/m68k/atari/ataints.c index af544557dd1d..6d196dadfdbc 100644 --- a/arch/m68k/atari/ataints.c +++ b/arch/m68k/atari/ataints.c | |||
@@ -137,7 +137,7 @@ static struct irq_chip atari_irq_chip = { | |||
137 | 137 | ||
138 | void __init atari_init_IRQ(void) | 138 | void __init atari_init_IRQ(void) |
139 | { | 139 | { |
140 | m68k_setup_user_interrupt(VEC_USER, NUM_ATARI_SOURCES - IRQ_USER, NULL); | 140 | m68k_setup_user_interrupt(VEC_USER, NUM_ATARI_SOURCES - IRQ_USER); |
141 | m68k_setup_irq_controller(&atari_irq_chip, handle_simple_irq, 1, | 141 | m68k_setup_irq_controller(&atari_irq_chip, handle_simple_irq, 1, |
142 | NUM_ATARI_SOURCES - 1); | 142 | NUM_ATARI_SOURCES - 1); |
143 | 143 | ||
diff --git a/arch/m68k/bvme6000/config.c b/arch/m68k/bvme6000/config.c index 1edd95095cb4..81286476f740 100644 --- a/arch/m68k/bvme6000/config.c +++ b/arch/m68k/bvme6000/config.c | |||
@@ -86,7 +86,7 @@ static void bvme6000_get_model(char *model) | |||
86 | */ | 86 | */ |
87 | static void __init bvme6000_init_IRQ(void) | 87 | static void __init bvme6000_init_IRQ(void) |
88 | { | 88 | { |
89 | m68k_setup_user_interrupt(VEC_USER, 192, NULL); | 89 | m68k_setup_user_interrupt(VEC_USER, 192); |
90 | } | 90 | } |
91 | 91 | ||
92 | void __init config_bvme6000(void) | 92 | void __init config_bvme6000(void) |
diff --git a/arch/m68k/include/asm/irq.h b/arch/m68k/include/asm/irq.h index 94349a525bc2..6198df5ff245 100644 --- a/arch/m68k/include/asm/irq.h +++ b/arch/m68k/include/asm/irq.h | |||
@@ -70,9 +70,7 @@ extern unsigned int m68k_irq_startup_irq(unsigned int irq); | |||
70 | extern void m68k_irq_shutdown(struct irq_data *data); | 70 | extern void m68k_irq_shutdown(struct irq_data *data); |
71 | extern void m68k_setup_auto_interrupt(void (*handler)(unsigned int, | 71 | extern void m68k_setup_auto_interrupt(void (*handler)(unsigned int, |
72 | struct pt_regs *)); | 72 | struct pt_regs *)); |
73 | extern void m68k_setup_user_interrupt(unsigned int vec, unsigned int cnt, | 73 | extern void m68k_setup_user_interrupt(unsigned int vec, unsigned int cnt); |
74 | void (*handler)(unsigned int, | ||
75 | struct pt_regs *)); | ||
76 | extern void m68k_setup_irq_controller(struct irq_chip *, | 74 | extern void m68k_setup_irq_controller(struct irq_chip *, |
77 | void (*handle)(unsigned int irq, | 75 | void (*handle)(unsigned int irq, |
78 | struct irq_desc *desc), | 76 | struct irq_desc *desc), |
diff --git a/arch/m68k/kernel/entry_mm.S b/arch/m68k/kernel/entry_mm.S index f5927d0927b4..c713f514843d 100644 --- a/arch/m68k/kernel/entry_mm.S +++ b/arch/m68k/kernel/entry_mm.S | |||
@@ -48,7 +48,7 @@ | |||
48 | .globl sys_fork, sys_clone, sys_vfork | 48 | .globl sys_fork, sys_clone, sys_vfork |
49 | .globl ret_from_interrupt, bad_interrupt | 49 | .globl ret_from_interrupt, bad_interrupt |
50 | .globl auto_irqhandler_fixup | 50 | .globl auto_irqhandler_fixup |
51 | .globl user_irqvec_fixup, user_irqhandler_fixup | 51 | .globl user_irqvec_fixup |
52 | 52 | ||
53 | .text | 53 | .text |
54 | ENTRY(buserr) | 54 | ENTRY(buserr) |
@@ -240,7 +240,6 @@ user_irqvec_fixup = . + 2 | |||
240 | 240 | ||
241 | movel %sp,%sp@- | 241 | movel %sp,%sp@- |
242 | movel %d0,%sp@- | put vector # on stack | 242 | movel %d0,%sp@- | put vector # on stack |
243 | user_irqhandler_fixup = . + 2 | ||
244 | jsr do_IRQ | process the IRQ | 243 | jsr do_IRQ | process the IRQ |
245 | addql #8,%sp | pop parameters off stack | 244 | addql #8,%sp | pop parameters off stack |
246 | 245 | ||
diff --git a/arch/m68k/kernel/ints.c b/arch/m68k/kernel/ints.c index e2b056b3a314..74fefac00899 100644 --- a/arch/m68k/kernel/ints.c +++ b/arch/m68k/kernel/ints.c | |||
@@ -28,7 +28,6 @@ | |||
28 | #endif | 28 | #endif |
29 | 29 | ||
30 | extern u32 auto_irqhandler_fixup[]; | 30 | extern u32 auto_irqhandler_fixup[]; |
31 | extern u32 user_irqhandler_fixup[]; | ||
32 | extern u16 user_irqvec_fixup[]; | 31 | extern u16 user_irqvec_fixup[]; |
33 | 32 | ||
34 | static int m68k_first_user_vec; | 33 | static int m68k_first_user_vec; |
@@ -91,16 +90,12 @@ void __init m68k_setup_auto_interrupt(void (*handler)(unsigned int, struct pt_re | |||
91 | * m68k_setup_user_interrupt | 90 | * m68k_setup_user_interrupt |
92 | * @vec: first user vector interrupt to handle | 91 | * @vec: first user vector interrupt to handle |
93 | * @cnt: number of active user vector interrupts | 92 | * @cnt: number of active user vector interrupts |
94 | * @handler: called from user vector interrupts | ||
95 | * | 93 | * |
96 | * setup user vector interrupts, this includes activating the specified range | 94 | * setup user vector interrupts, this includes activating the specified range |
97 | * of interrupts, only then these interrupts can be requested (note: this is | 95 | * of interrupts, only then these interrupts can be requested (note: this is |
98 | * different from auto vector interrupts). An optional handler can be installed | 96 | * different from auto vector interrupts). |
99 | * to be called instead of the default do_IRQ(), it will be called | ||
100 | * with irq numbers starting from IRQ_USER. | ||
101 | */ | 97 | */ |
102 | void __init m68k_setup_user_interrupt(unsigned int vec, unsigned int cnt, | 98 | void __init m68k_setup_user_interrupt(unsigned int vec, unsigned int cnt) |
103 | void (*handler)(unsigned int, struct pt_regs *)) | ||
104 | { | 99 | { |
105 | int i; | 100 | int i; |
106 | 101 | ||
@@ -109,8 +104,6 @@ void __init m68k_setup_user_interrupt(unsigned int vec, unsigned int cnt, | |||
109 | for (i = 0; i < cnt; i++) | 104 | for (i = 0; i < cnt; i++) |
110 | irq_set_chip(IRQ_USER + i, &user_irq_chip); | 105 | irq_set_chip(IRQ_USER + i, &user_irq_chip); |
111 | *user_irqvec_fixup = vec - IRQ_USER; | 106 | *user_irqvec_fixup = vec - IRQ_USER; |
112 | if (handler) | ||
113 | *user_irqhandler_fixup = (u32)handler; | ||
114 | flush_icache(); | 107 | flush_icache(); |
115 | } | 108 | } |
116 | 109 | ||
diff --git a/arch/m68k/mvme147/config.c b/arch/m68k/mvme147/config.c index 01f2adf3f19f..5de924ef42ed 100644 --- a/arch/m68k/mvme147/config.c +++ b/arch/m68k/mvme147/config.c | |||
@@ -81,7 +81,7 @@ static void mvme147_get_model(char *model) | |||
81 | 81 | ||
82 | void __init mvme147_init_IRQ(void) | 82 | void __init mvme147_init_IRQ(void) |
83 | { | 83 | { |
84 | m68k_setup_user_interrupt(VEC_USER, 192, NULL); | 84 | m68k_setup_user_interrupt(VEC_USER, 192); |
85 | } | 85 | } |
86 | 86 | ||
87 | void __init config_mvme147(void) | 87 | void __init config_mvme147(void) |
diff --git a/arch/m68k/mvme16x/config.c b/arch/m68k/mvme16x/config.c index 0b28e2621653..31a66d99cbca 100644 --- a/arch/m68k/mvme16x/config.c +++ b/arch/m68k/mvme16x/config.c | |||
@@ -117,7 +117,7 @@ static void mvme16x_get_hardware_list(struct seq_file *m) | |||
117 | 117 | ||
118 | static void __init mvme16x_init_IRQ (void) | 118 | static void __init mvme16x_init_IRQ (void) |
119 | { | 119 | { |
120 | m68k_setup_user_interrupt(VEC_USER, 192, NULL); | 120 | m68k_setup_user_interrupt(VEC_USER, 192); |
121 | } | 121 | } |
122 | 122 | ||
123 | #define pcc2chip ((volatile u_char *)0xfff42000) | 123 | #define pcc2chip ((volatile u_char *)0xfff42000) |
diff --git a/arch/m68k/sun3/sun3ints.c b/arch/m68k/sun3/sun3ints.c index 7eb378195cf7..78b60f53e90a 100644 --- a/arch/m68k/sun3/sun3ints.c +++ b/arch/m68k/sun3/sun3ints.c | |||
@@ -109,7 +109,7 @@ void __init sun3_init_IRQ(void) | |||
109 | 109 | ||
110 | m68k_setup_irq_controller(&sun3_irq_chip, handle_level_irq, IRQ_AUTO_1, | 110 | m68k_setup_irq_controller(&sun3_irq_chip, handle_level_irq, IRQ_AUTO_1, |
111 | 7); | 111 | 7); |
112 | m68k_setup_user_interrupt(VEC_USER, 128, NULL); | 112 | m68k_setup_user_interrupt(VEC_USER, 128); |
113 | 113 | ||
114 | if (request_irq(IRQ_AUTO_5, sun3_int5, 0, "int5", NULL)) | 114 | if (request_irq(IRQ_AUTO_5, sun3_int5, 0, "int5", NULL)) |
115 | pr_err("Couldn't register %s interrupt\n", "int5"); | 115 | pr_err("Couldn't register %s interrupt\n", "int5"); |