[parisc-linux-cvs] Fix /proc/interrupts with EISA

Matthew Wilcox willy@ldl.fc.hp.com
Fri, 12 Oct 2001 17:20:10 -0600


 * Fix /proc/interrupts when EISA enabled.
 * Define CONFIG_ISA when user selects CONFIG_EISA (this enables
   approximately one extra card... :-)
 * Tidy up irq.c a little
 * Add my hp100 card's EISA ID to the table.

Index: arch/parisc/config.in
===================================================================
RCS file: /home/cvs/parisc/linux/arch/parisc/config.in,v
retrieving revision 1.37
diff -u -p -r1.37 config.in
--- arch/parisc/config.in	2001/10/10 20:10:09	1.37
+++ arch/parisc/config.in	2001/10/12 22:38:08
@@ -55,6 +55,7 @@ dep_bool '  Lasi I/O support' CONFIG_GSC
 dep_bool '  Wax I/O support' CONFIG_GSC_WAX $CONFIG_GSC
 
 bool 'EISA support' CONFIG_EISA
+define_bool CONFIG_ISA $CONFIG_EISA
 bool 'PCI support' CONFIG_PCI
 
 if [ "$CONFIG_PCI" = "y" ]; then
Index: arch/parisc/kernel/irq.c
===================================================================
RCS file: /home/cvs/parisc/linux/arch/parisc/kernel/irq.c,v
retrieving revision 1.46
diff -u -p -r1.46 irq.c
--- arch/parisc/kernel/irq.c	2001/10/12 06:35:43	1.46
+++ arch/parisc/kernel/irq.c	2001/10/12 22:38:08
@@ -175,7 +175,6 @@ int get_irq_list(char *buf)
 {
 #ifdef CONFIG_PROC_FS
 	char *p = buf;
-	struct irq_region *region;
 	int regnr;
 
 	p += sprintf(p, " IRQ      count         Region    ISR");
@@ -190,13 +189,13 @@ int get_irq_list(char *buf)
 	spin_lock(&irq_lock);
 	for (regnr = 0; regnr < NR_IRQ_REGS; regnr++) {
 	    int i;
-	    region = irq_region[regnr];
+	    struct irq_region *region = irq_region[regnr];
 
             if (!region || !region->action)
 		continue;
 
 	    for (i = 0; i <= MAX_CPU_IRQ; i++) {
-		struct irqaction *action = &(region->action[i]);
+		struct irqaction *action = &region->action[i];
 		unsigned int irq_no = IRQ_FROM_REGION(regnr) + i;
 #ifdef CONFIG_SMP
 		int j;
Index: drivers/gsc/eisa.c
===================================================================
RCS file: /home/cvs/parisc/linux/drivers/gsc/eisa.c,v
retrieving revision 1.3
diff -u -p -r1.3 eisa.c
--- drivers/gsc/eisa.c	2001/10/12 06:35:44	1.3
+++ drivers/gsc/eisa.c	2001/10/12 22:38:08
@@ -108,7 +108,7 @@ static void eisa_unmask_irq(void *irq_de
 	return;
 }
 
-struct irqaction action[16];
+struct irqaction action[IRQ_PER_REGION];
 
 #define EISA_IRQ_REGION 0 /* Compatibility */
 
Index: drivers/net/hp100.c
===================================================================
RCS file: /home/cvs/parisc/linux/drivers/net/hp100.c,v
retrieving revision 1.8
diff -u -p -r1.8 hp100.c
--- drivers/net/hp100.c	2001/07/05 21:36:20	1.8
+++ drivers/net/hp100.c	2001/10/12 23:03:59
@@ -232,6 +232,9 @@ static struct hp100_eisa_id hp100_eisa_i
   /* 10/100 ISA card with Cascade chip */
   { 0x5019F022, "HP J2573",       HP100_BUS_ISA },
 
+  /* 10/100 EISA card with AT&T chip */
+  { 0x9019f022, "HP J2577",	  HP100_BUS_EISA },
+
   /* 10/100 PCI card - old J2585A */
   { 0x1030103c, "HP J2585A", 	    HP100_BUS_PCI },