[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 = ®ion->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 },