Skip to content

Commit

Permalink
m68k/irq: Remove obsolete support for user vector interrupt fixups
Browse files Browse the repository at this point in the history
It was used on Apollo only, before its conversion to genirq.

Signed-off-by: Geert Uytterhoeven <[email protected]>
  • Loading branch information
geertu committed Nov 8, 2011
1 parent d890d73 commit f30a648
Show file tree
Hide file tree
Showing 9 changed files with 10 additions and 20 deletions.
2 changes: 1 addition & 1 deletion arch/m68k/apollo/dn_ints.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ static struct irq_chip apollo_irq_chip = {

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,
IRQ_APOLLO, 16);
}
2 changes: 1 addition & 1 deletion arch/m68k/atari/ataints.c
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ static struct irq_chip atari_irq_chip = {

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,
NUM_ATARI_SOURCES - 1);

Expand Down
2 changes: 1 addition & 1 deletion arch/m68k/bvme6000/config.c
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ static void bvme6000_get_model(char *model)
*/
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)
Expand Down
4 changes: 1 addition & 3 deletions arch/m68k/include/asm/irq.h
Original file line number Diff line number Diff line change
Expand Up @@ -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_setup_auto_interrupt(void (*handler)(unsigned int,
struct pt_regs *));
extern void m68k_setup_user_interrupt(unsigned int vec, unsigned int cnt,
void (*handler)(unsigned int,
struct pt_regs *));
extern void m68k_setup_user_interrupt(unsigned int vec, unsigned int cnt);
extern void m68k_setup_irq_controller(struct irq_chip *,
void (*handle)(unsigned int irq,
struct irq_desc *desc),
Expand Down
3 changes: 1 addition & 2 deletions arch/m68k/kernel/entry_mm.S
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@
.globl sys_fork, sys_clone, sys_vfork
.globl ret_from_interrupt, bad_interrupt
.globl auto_irqhandler_fixup
.globl user_irqvec_fixup, user_irqhandler_fixup
.globl user_irqvec_fixup

.text
ENTRY(buserr)
Expand Down Expand Up @@ -240,7 +240,6 @@ user_irqvec_fixup = . + 2

movel %sp,%sp@-
movel %d0,%sp@- | put vector # on stack
user_irqhandler_fixup = . + 2
jsr do_IRQ | process the IRQ
addql #8,%sp | pop parameters off stack

Expand Down
11 changes: 2 additions & 9 deletions arch/m68k/kernel/ints.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@
#endif

extern u32 auto_irqhandler_fixup[];
extern u32 user_irqhandler_fixup[];
extern u16 user_irqvec_fixup[];

static int m68k_first_user_vec;
Expand Down Expand Up @@ -91,16 +90,12 @@ void __init m68k_setup_auto_interrupt(void (*handler)(unsigned int, struct pt_re
* m68k_setup_user_interrupt
* @vec: first user vector interrupt to handle
* @cnt: number of active user vector interrupts
* @handler: called from user vector interrupts
*
* setup user vector interrupts, this includes activating the specified range
* of interrupts, only then these interrupts can be requested (note: this is
* different from auto vector interrupts). An optional handler can be installed
* to be called instead of the default do_IRQ(), it will be called
* with irq numbers starting from IRQ_USER.
* different from auto vector interrupts).
*/
void __init m68k_setup_user_interrupt(unsigned int vec, unsigned int cnt,
void (*handler)(unsigned int, struct pt_regs *))
void __init m68k_setup_user_interrupt(unsigned int vec, unsigned int cnt)
{
int i;

Expand All @@ -109,8 +104,6 @@ void __init m68k_setup_user_interrupt(unsigned int vec, unsigned int cnt,
for (i = 0; i < cnt; i++)
irq_set_chip(IRQ_USER + i, &user_irq_chip);
*user_irqvec_fixup = vec - IRQ_USER;
if (handler)
*user_irqhandler_fixup = (u32)handler;
flush_icache();
}

Expand Down
2 changes: 1 addition & 1 deletion arch/m68k/mvme147/config.c
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ static void mvme147_get_model(char *model)

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)
Expand Down
2 changes: 1 addition & 1 deletion arch/m68k/mvme16x/config.c
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ static void mvme16x_get_hardware_list(struct seq_file *m)

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)
Expand Down
2 changes: 1 addition & 1 deletion arch/m68k/sun3/sun3ints.c
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ void __init sun3_init_IRQ(void)

m68k_setup_irq_controller(&sun3_irq_chip, handle_level_irq, IRQ_AUTO_1,
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))
pr_err("Couldn't register %s interrupt\n", "int5");
Expand Down

0 comments on commit f30a648

Please sign in to comment.