diff options
Diffstat (limited to 'pfinet/linux-src/include/linux/interrupt.h')
-rw-r--r-- | pfinet/linux-src/include/linux/interrupt.h | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/pfinet/linux-src/include/linux/interrupt.h b/pfinet/linux-src/include/linux/interrupt.h deleted file mode 100644 index 3e3edd8b..00000000 --- a/pfinet/linux-src/include/linux/interrupt.h +++ /dev/null @@ -1,84 +0,0 @@ -/* interrupt.h */ -#ifndef _LINUX_INTERRUPT_H -#define _LINUX_INTERRUPT_H - -#include <linux/kernel.h> -#include <asm/bitops.h> -#include <asm/atomic.h> - -struct irqaction { - void (*handler)(int, void *, struct pt_regs *); - unsigned long flags; - unsigned long mask; - const char *name; - void *dev_id; - struct irqaction *next; -}; - -extern volatile unsigned char bh_running; - -extern atomic_t bh_mask_count[32]; -extern unsigned long bh_active; -extern unsigned long bh_mask; -extern void (*bh_base[32])(void); - -asmlinkage void do_bottom_half(void); - -/* Who gets which entry in bh_base. Things which will occur most often - should come first - in which case NET should be up the top with SERIAL/TQUEUE! */ - -enum { - TIMER_BH = 0, - CONSOLE_BH, - TQUEUE_BH, - DIGI_BH, - SERIAL_BH, - RISCOM8_BH, - SPECIALIX_BH, - AURORA_BH, - ESP_BH, - NET_BH, - SCSI_BH, - IMMEDIATE_BH, - KEYBOARD_BH, - CYCLADES_BH, - CM206_BH, - JS_BH, - MACSERIAL_BH, - ISICOM_BH -}; - -#include <asm/hardirq.h> -#include <asm/softirq.h> - -/* - * Autoprobing for irqs: - * - * probe_irq_on() and probe_irq_off() provide robust primitives - * for accurate IRQ probing during kernel initialization. They are - * reasonably simple to use, are not "fooled" by spurious interrupts, - * and, unlike other attempts at IRQ probing, they do not get hung on - * stuck interrupts (such as unused PS2 mouse interfaces on ASUS boards). - * - * For reasonably foolproof probing, use them as follows: - * - * 1. clear and/or mask the device's internal interrupt. - * 2. sti(); - * 3. irqs = probe_irq_on(); // "take over" all unassigned idle IRQs - * 4. enable the device and cause it to trigger an interrupt. - * 5. wait for the device to interrupt, using non-intrusive polling or a delay. - * 6. irq = probe_irq_off(irqs); // get IRQ number, 0=none, negative=multiple - * 7. service the device to clear its pending interrupt. - * 8. loop again if paranoia is required. - * - * probe_irq_on() returns a mask of allocated irq's. - * - * probe_irq_off() takes the mask as a parameter, - * and returns the irq number which occurred, - * or zero if none occurred, or a negative irq number - * if more than one irq occurred. - */ -extern unsigned long probe_irq_on(void); /* returns 0 on failure */ -extern int probe_irq_off(unsigned long); /* returns 0 or negative on failure */ - -#endif |