patch-2.1.80 linux/include/asm-arm/arch-ebsa110/irq.h

Next file: linux/include/asm-arm/arch-ebsa110/irqs.h
Previous file: linux/include/asm-arm/arch-ebsa110/io.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.79/linux/include/asm-arm/arch-ebsa110/irq.h linux/include/asm-arm/arch-ebsa110/irq.h
@@ -0,0 +1,46 @@
+/*
+ * include/asm-arm/arch-ebsa110/irq.h
+ *
+ * Copyright (C) 1996,1997,1998 Russell King
+ */
+
+#define IRQ_MCLR	((volatile unsigned char *)0xf3000000)
+#define IRQ_MSET	((volatile unsigned char *)0xf2c00000)
+#define IRQ_MASK	((volatile unsigned char *)0xf2c00000)
+
+static __inline__ void mask_and_ack_irq(unsigned int irq)
+{
+	if (irq < 8)
+		*IRQ_MCLR = 1 << irq;
+}
+
+static __inline__ void mask_irq(unsigned int irq)
+{
+	if (irq < 8)
+		*IRQ_MCLR = 1 << irq;
+}
+
+static __inline__ void unmask_irq(unsigned int irq)
+{
+	if (irq < 8)
+		*IRQ_MSET = 1 << irq;
+}
+ 
+static __inline__ unsigned long get_enabled_irqs(void)
+{
+	return 0;
+}
+
+static __inline__ void irq_init_irq(void)
+{
+	unsigned long flags;
+
+	save_flags_cli (flags);
+	*IRQ_MCLR = 0xff;
+	*IRQ_MSET = 0x55;
+	*IRQ_MSET = 0x00;
+	if (*IRQ_MASK != 0x55)
+		while (1);
+	*IRQ_MCLR = 0xff;		/* clear all interrupt enables */
+	restore_flags (flags);
+}

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov