patch-2.4.5 linux/include/asm-ppc/hw_irq.h

Next file: linux/include/asm-ppc/hydra.h
Previous file: linux/include/asm-ppc/highmem.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.4/linux/include/asm-ppc/hw_irq.h linux/include/asm-ppc/hw_irq.h
@@ -1,37 +1,25 @@
 /*
- * $Id: irq_control.h,v 1.8 1999/09/15 23:58:48 cort Exp $
- *
+ * BK Id: SCCS/s.hw_irq.h 1.10 05/17/01 18:14:24 cort
+ */
+/*
  * Copyright (C) 1999 Cort Dougan <cort@cs.nmt.edu>
  */
 #ifdef __KERNEL__
 #ifndef _PPC_HW_IRQ_H
 #define _PPC_HW_IRQ_H
 
-struct int_control_struct
-{
-	void (*int_cli)(void);
-	void (*int_sti)(void);
-	void (*int_restore_flags)(unsigned long);
-	void (*int_save_flags)(unsigned long *);
-	void (*int_set_lost)(unsigned long);
-};
-extern struct int_control_struct int_control;
 extern unsigned long timer_interrupt_intercept;
 extern unsigned long do_IRQ_intercept;
 int timer_interrupt(struct pt_regs *);
 
-extern void __no_use_sti(void);
-extern void __no_use_cli(void);
-extern void __no_use_restore_flags(unsigned long);
-extern void __no_use_save_flags(unsigned long *);
-extern void __no_use_set_lost(unsigned long);
+extern void __sti(void);
+extern void __cli(void);
+extern void __restore_flags(unsigned long);
+extern void __save_flags_ptr(unsigned long *);
+extern unsigned long __sti_end, __cli_end, __restore_flags_end, __save_flags_ptr_end;
 
-#define __cli() int_control.int_cli()
-#define __sti() int_control.int_sti()
-#define __save_flags(flags) int_control.int_save_flags((unsigned long *)&flags)
-#define __restore_flags(flags) int_control.int_restore_flags((unsigned long)flags)
+#define __save_flags(flags) __save_flags_ptr((unsigned long *)&flags)
 #define __save_and_cli(flags) ({__save_flags(flags);__cli();})
-#define __set_lost(irq) ({ if ((unsigned long)int_control.int_set_lost) int_control.int_set_lost(irq); })
 
 extern void do_lost_interrupts(unsigned long);
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)