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

Next file: linux/include/asm-ppc/io.h
Previous file: linux/include/asm-mips64/xtalk/xwidget.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.47/linux/include/asm-ppc/hw_irq.h linux/include/asm-ppc/hw_irq.h
@@ -6,30 +6,13 @@
 #ifndef _PPC_HW_IRQ_H
 #define _PPC_HW_IRQ_H
 
-#if 0
-/* Structure describing interrupts */
-struct hw_interrupt_type {
-	const char * typename;
-	void (*startup)(unsigned int irq);
-	void (*shutdown)(unsigned int irq);
-	void (*enable)(unsigned int irq);
-	void (*disable)(unsigned int irq);
-	void (*mask_and_ack)(unsigned int irq);
-	int irq_offset;
-};
-
-struct irqdesc {
-	struct irqaction *action;
-	struct hw_interrupt_type *ctl;
-};
-#endif
-
 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;
@@ -40,12 +23,14 @@
 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);
 
 #define __cli() int_control.int_cli()
 #define __sti() int_control.int_sti()
 #define __save_flags(flags) int_control.int_save_flags(&flags)
 #define __restore_flags(flags) int_control.int_restore_flags(flags)
 #define __save_and_cli(flags) ({__save_flags(flags);__cli();})
+#define __set_lost(irq) ({ if ((ulong)int_control.int_set_lost) int_control.int_set_lost(irq); })
 
 extern void do_lost_interrupts(unsigned long);
 extern atomic_t ppc_n_lost_interrupts;

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