Commit f30a6484 authored by Geert Uytterhoeven's avatar Geert Uytterhoeven

m68k/irq: Remove obsolete support for user vector interrupt fixups

It was used on Apollo only, before its conversion to genirq.
Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
parent d890d739
...@@ -41,7 +41,7 @@ static struct irq_chip apollo_irq_chip = { ...@@ -41,7 +41,7 @@ static struct irq_chip apollo_irq_chip = {
void __init dn_init_IRQ(void) void __init dn_init_IRQ(void)
{ {
m68k_setup_user_interrupt(VEC_USER + 96, 16, NULL); m68k_setup_user_interrupt(VEC_USER + 96, 16);
m68k_setup_irq_controller(&apollo_irq_chip, handle_fasteoi_irq, m68k_setup_irq_controller(&apollo_irq_chip, handle_fasteoi_irq,
IRQ_APOLLO, 16); IRQ_APOLLO, 16);
} }
...@@ -137,7 +137,7 @@ static struct irq_chip atari_irq_chip = { ...@@ -137,7 +137,7 @@ static struct irq_chip atari_irq_chip = {
void __init atari_init_IRQ(void) void __init atari_init_IRQ(void)
{ {
m68k_setup_user_interrupt(VEC_USER, NUM_ATARI_SOURCES - IRQ_USER, NULL); m68k_setup_user_interrupt(VEC_USER, NUM_ATARI_SOURCES - IRQ_USER);
m68k_setup_irq_controller(&atari_irq_chip, handle_simple_irq, 1, m68k_setup_irq_controller(&atari_irq_chip, handle_simple_irq, 1,
NUM_ATARI_SOURCES - 1); NUM_ATARI_SOURCES - 1);
......
...@@ -86,7 +86,7 @@ static void bvme6000_get_model(char *model) ...@@ -86,7 +86,7 @@ static void bvme6000_get_model(char *model)
*/ */
static void __init bvme6000_init_IRQ(void) static void __init bvme6000_init_IRQ(void)
{ {
m68k_setup_user_interrupt(VEC_USER, 192, NULL); m68k_setup_user_interrupt(VEC_USER, 192);
} }
void __init config_bvme6000(void) void __init config_bvme6000(void)
......
...@@ -70,9 +70,7 @@ extern unsigned int m68k_irq_startup_irq(unsigned int irq); ...@@ -70,9 +70,7 @@ extern unsigned int m68k_irq_startup_irq(unsigned int irq);
extern void m68k_irq_shutdown(struct irq_data *data); extern void m68k_irq_shutdown(struct irq_data *data);
extern void m68k_setup_auto_interrupt(void (*handler)(unsigned int, extern void m68k_setup_auto_interrupt(void (*handler)(unsigned int,
struct pt_regs *)); struct pt_regs *));
extern void m68k_setup_user_interrupt(unsigned int vec, unsigned int cnt, extern void m68k_setup_user_interrupt(unsigned int vec, unsigned int cnt);
void (*handler)(unsigned int,
struct pt_regs *));
extern void m68k_setup_irq_controller(struct irq_chip *, extern void m68k_setup_irq_controller(struct irq_chip *,
void (*handle)(unsigned int irq, void (*handle)(unsigned int irq,
struct irq_desc *desc), struct irq_desc *desc),
......
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
.globl sys_fork, sys_clone, sys_vfork .globl sys_fork, sys_clone, sys_vfork
.globl ret_from_interrupt, bad_interrupt .globl ret_from_interrupt, bad_interrupt
.globl auto_irqhandler_fixup .globl auto_irqhandler_fixup
.globl user_irqvec_fixup, user_irqhandler_fixup .globl user_irqvec_fixup
.text .text
ENTRY(buserr) ENTRY(buserr)
...@@ -240,7 +240,6 @@ user_irqvec_fixup = . + 2 ...@@ -240,7 +240,6 @@ user_irqvec_fixup = . + 2
movel %sp,%sp@- movel %sp,%sp@-
movel %d0,%sp@- | put vector # on stack movel %d0,%sp@- | put vector # on stack
user_irqhandler_fixup = . + 2
jsr do_IRQ | process the IRQ jsr do_IRQ | process the IRQ
addql #8,%sp | pop parameters off stack addql #8,%sp | pop parameters off stack
......
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
#endif #endif
extern u32 auto_irqhandler_fixup[]; extern u32 auto_irqhandler_fixup[];
extern u32 user_irqhandler_fixup[];
extern u16 user_irqvec_fixup[]; extern u16 user_irqvec_fixup[];
static int m68k_first_user_vec; static int m68k_first_user_vec;
...@@ -91,16 +90,12 @@ void __init m68k_setup_auto_interrupt(void (*handler)(unsigned int, struct pt_re ...@@ -91,16 +90,12 @@ void __init m68k_setup_auto_interrupt(void (*handler)(unsigned int, struct pt_re
* m68k_setup_user_interrupt * m68k_setup_user_interrupt
* @vec: first user vector interrupt to handle * @vec: first user vector interrupt to handle
* @cnt: number of active user vector interrupts * @cnt: number of active user vector interrupts
* @handler: called from user vector interrupts
* *
* setup user vector interrupts, this includes activating the specified range * setup user vector interrupts, this includes activating the specified range
* of interrupts, only then these interrupts can be requested (note: this is * of interrupts, only then these interrupts can be requested (note: this is
* different from auto vector interrupts). An optional handler can be installed * different from auto vector interrupts).
* to be called instead of the default do_IRQ(), it will be called
* with irq numbers starting from IRQ_USER.
*/ */
void __init m68k_setup_user_interrupt(unsigned int vec, unsigned int cnt, void __init m68k_setup_user_interrupt(unsigned int vec, unsigned int cnt)
void (*handler)(unsigned int, struct pt_regs *))
{ {
int i; int i;
...@@ -109,8 +104,6 @@ void __init m68k_setup_user_interrupt(unsigned int vec, unsigned int cnt, ...@@ -109,8 +104,6 @@ void __init m68k_setup_user_interrupt(unsigned int vec, unsigned int cnt,
for (i = 0; i < cnt; i++) for (i = 0; i < cnt; i++)
irq_set_chip(IRQ_USER + i, &user_irq_chip); irq_set_chip(IRQ_USER + i, &user_irq_chip);
*user_irqvec_fixup = vec - IRQ_USER; *user_irqvec_fixup = vec - IRQ_USER;
if (handler)
*user_irqhandler_fixup = (u32)handler;
flush_icache(); flush_icache();
} }
......
...@@ -81,7 +81,7 @@ static void mvme147_get_model(char *model) ...@@ -81,7 +81,7 @@ static void mvme147_get_model(char *model)
void __init mvme147_init_IRQ(void) void __init mvme147_init_IRQ(void)
{ {
m68k_setup_user_interrupt(VEC_USER, 192, NULL); m68k_setup_user_interrupt(VEC_USER, 192);
} }
void __init config_mvme147(void) void __init config_mvme147(void)
......
...@@ -117,7 +117,7 @@ static void mvme16x_get_hardware_list(struct seq_file *m) ...@@ -117,7 +117,7 @@ static void mvme16x_get_hardware_list(struct seq_file *m)
static void __init mvme16x_init_IRQ (void) static void __init mvme16x_init_IRQ (void)
{ {
m68k_setup_user_interrupt(VEC_USER, 192, NULL); m68k_setup_user_interrupt(VEC_USER, 192);
} }
#define pcc2chip ((volatile u_char *)0xfff42000) #define pcc2chip ((volatile u_char *)0xfff42000)
......
...@@ -109,7 +109,7 @@ void __init sun3_init_IRQ(void) ...@@ -109,7 +109,7 @@ void __init sun3_init_IRQ(void)
m68k_setup_irq_controller(&sun3_irq_chip, handle_level_irq, IRQ_AUTO_1, m68k_setup_irq_controller(&sun3_irq_chip, handle_level_irq, IRQ_AUTO_1,
7); 7);
m68k_setup_user_interrupt(VEC_USER, 128, NULL); m68k_setup_user_interrupt(VEC_USER, 128);
if (request_irq(IRQ_AUTO_5, sun3_int5, 0, "int5", NULL)) if (request_irq(IRQ_AUTO_5, sun3_int5, 0, "int5", NULL))
pr_err("Couldn't register %s interrupt\n", "int5"); pr_err("Couldn't register %s interrupt\n", "int5");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment