From: Ingo Molnar Now that i386 defaults to regparm, explicit uses of fastcall are not needed anymore. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton --- include/linux/irq.h | 10 +++++++--- kernel/irq/handle.c | 4 ++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff -puN include/linux/irq.h~genirq-cleanup-remove-fastcall include/linux/irq.h --- a/include/linux/irq.h~genirq-cleanup-remove-fastcall +++ a/include/linux/irq.h @@ -171,11 +171,15 @@ static inline void set_balance_irq_affin extern int no_irq_affinity; extern int noirqdebug_setup(char *str); -extern fastcall irqreturn_t handle_IRQ_event(unsigned int irq, struct pt_regs *regs, - struct irqaction *action); +extern irqreturn_t handle_IRQ_event(unsigned int irq, struct pt_regs *regs, + struct irqaction *action); +/* + * Explicit fastcall, because i386 4KSTACKS calls it from assembly: + */ extern fastcall unsigned int __do_IRQ(unsigned int irq, struct pt_regs *regs); + extern void note_interrupt(unsigned int irq, irq_desc_t *desc, - int action_ret, struct pt_regs *regs); + int action_ret, struct pt_regs *regs); extern int can_request_irq(unsigned int irq, unsigned long irqflags); extern void init_irq_proc(void); diff -puN kernel/irq/handle.c~genirq-cleanup-remove-fastcall kernel/irq/handle.c --- a/kernel/irq/handle.c~genirq-cleanup-remove-fastcall +++ a/kernel/irq/handle.c @@ -79,8 +79,8 @@ irqreturn_t no_action(int cpl, void *dev /* * Have got an event to handle: */ -fastcall irqreturn_t handle_IRQ_event(unsigned int irq, struct pt_regs *regs, - struct irqaction *action) +irqreturn_t handle_IRQ_event(unsigned int irq, struct pt_regs *regs, + struct irqaction *action) { irqreturn_t ret, retval = IRQ_NONE; unsigned int status = 0; _