Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 35645
b: refs/heads/master
c: af8c65b
h: refs/heads/master
i:
  35643: 4e737bc
v: v3
  • Loading branch information
David Howells authored and Linus Torvalds committed Sep 26, 2006
1 parent 77155cf commit 00da0d4
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 88d6e19900366781739df033e9c0e2532e715fa5
refs/heads/master: af8c65b57aaa4ae321af34dbfc5ca7f5625263fe
4 changes: 4 additions & 0 deletions trunk/arch/frv/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,10 @@ config GENERIC_HARDIRQS
bool
default y

config GENERIC_HARDIRQS_NO__DO_IRQ
bool
default y

config GENERIC_TIME
bool
default y
Expand Down
6 changes: 6 additions & 0 deletions trunk/include/linux/irq.h
Original file line number Diff line number Diff line change
Expand Up @@ -320,7 +320,9 @@ handle_irq_name(void fastcall (*handle)(unsigned int, struct irq_desc *,
* Monolithic do_IRQ implementation.
* (is an explicit fastcall, because i386 4KSTACKS calls it from assembly)
*/
#ifndef CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ
extern fastcall unsigned int __do_IRQ(unsigned int irq, struct pt_regs *regs);
#endif

/*
* Architectures call this to let the generic IRQ layer
Expand All @@ -332,10 +334,14 @@ static inline void generic_handle_irq(unsigned int irq, struct pt_regs *regs)
{
struct irq_desc *desc = irq_desc + irq;

#ifdef CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ
desc->handle_irq(irq, desc, regs);
#else
if (likely(desc->handle_irq))
desc->handle_irq(irq, desc, regs);
else
__do_IRQ(irq, regs);
#endif
}

/* Handling of unhandled and spurious interrupts: */
Expand Down
2 changes: 2 additions & 0 deletions trunk/kernel/irq/handle.c
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,7 @@ irqreturn_t handle_IRQ_event(unsigned int irq, struct pt_regs *regs,
return retval;
}

#ifndef CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ
/**
* __do_IRQ - original all in one highlevel IRQ handler
* @irq: the interrupt number
Expand Down Expand Up @@ -253,6 +254,7 @@ fastcall unsigned int __do_IRQ(unsigned int irq, struct pt_regs *regs)

return 1;
}
#endif

#ifdef CONFIG_TRACE_IRQFLAGS

Expand Down

0 comments on commit 00da0d4

Please sign in to comment.