upgrade to linux 2.6.10-1.12_FC2
[linux-2.6.git] / include / linux / interrupt.h
index c7bf379..d135c4b 100644 (file)
@@ -40,6 +40,8 @@ struct irqaction {
        const char *name;
        void *dev_id;
        struct irqaction *next;
+       int irq;
+       struct proc_dir_entry *dir;
 };
 
 extern irqreturn_t no_action(int cpl, void *dev_id, struct pt_regs *regs);
@@ -48,6 +50,13 @@ extern int request_irq(unsigned int,
                       unsigned long, const char *, void *);
 extern void free_irq(unsigned int, void *);
 
+
+#ifdef CONFIG_GENERIC_HARDIRQS
+extern void disable_irq_nosync(unsigned int irq);
+extern void disable_irq(unsigned int irq);
+extern void enable_irq(unsigned int irq);
+#endif
+
 /*
  * Temporary defines for UP kernels, until all code gets fixed.
  */
@@ -100,10 +109,6 @@ extern void softirq_init(void);
 extern void FASTCALL(raise_softirq_irqoff(unsigned int nr));
 extern void FASTCALL(raise_softirq(unsigned int nr));
 
-#ifndef invoke_softirq
-#define invoke_softirq() do_softirq()
-#endif
-
 
 /* Tasklets --- multithreaded analogue of BHs.
 
@@ -243,8 +248,28 @@ 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
+
+
+extern void dump_clear_tasklet(void);
+extern void dump_run_tasklet(void);
 
 #endif