summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2004-10-21 17:31:42 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2004-10-21 17:31:42 -0700
commit3db521caf29cd06e94e2ed294aae2f48643b23cc (patch)
tree245aac7f4cc964134bb5f1ecaf053be06b69d494 /include/linux
parente206f3932de4e058def167fcaf42cf34b2804b79 (diff)
[PATCH] ppc: Disable IRQ probe on ppc
The current "generic" implementation of IRQ probing isn't well suited for ppc in it's current form, and causes issues with yenta_socket (and possibly others) on pmac laptops. We didn't have a probe implementation in the past, we probably don't need one anyway, so for now, the fix is to make this optional and enable it on x86 and x86_64 but not ppc and ppc64 (the 4 archs to use the generic IRQ code). Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/interrupt.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h
index 2b0f7331f9c3..1b65f9bfa57e 100644
--- a/include/linux/interrupt.h
+++ b/include/linux/interrupt.h
@@ -252,8 +252,24 @@ extern void tasklet_init(struct tasklet_struct *t,
* or zero if none occurred, or a negative irq number
* if more than one irq occurred.
*/
+
+#if defined(CONFIG_GENERIC_HARDIRQS) && !defined(CONFIG_GENERIC_IRQ_PROBE)
+static inline unsigned long probe_irq_on(void)
+{
+ return 0;
+}
+static inline int probe_irq_off(unsigned long val)
+{
+ return 0;
+}
+static inline unsigned int probe_irq_mask(unsigned long val)
+{
+ return 0;
+}
+#else
extern unsigned long probe_irq_on(void); /* returns 0 on failure */
extern int probe_irq_off(unsigned long); /* returns 0 or negative on failure */
extern unsigned int probe_irq_mask(unsigned long); /* returns mask of ISA interrupts */
+#endif
#endif