[parisc-linux-cvs] -pa55, EISA fixes for 712 and 715/new machines
Helge Deller
deller@gmx.de
Sun, 14 Oct 2001 01:37:29 +0200
Index: Makefile
===================================================================
RCS file: /home/cvs/parisc/linux/Makefile,v
retrieving revision 1.166
diff -u -p -r1.166 Makefile
--- Makefile 2001/10/13 17:16:23 1.166
+++ Makefile 2001/10/13 23:30:13
@@ -1,7 +1,7 @@
VERSION = 2
PATCHLEVEL = 4
SUBLEVEL = 9
-EXTRAVERSION = -pa54
+EXTRAVERSION = -pa55
KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
Index: eisa.c
===================================================================
RCS file: /home/cvs/parisc/linux/drivers/gsc/eisa.c,v
retrieving revision 1.5
diff -u -p -r1.5 eisa.c
--- eisa.c 2001/10/13 17:03:28 1.5
+++ eisa.c 2001/10/13 23:30:30
@@ -157,12 +157,22 @@ static int __devinit eisa_probe(struct p
}
pcibios_register_hba(&eisa_dev.hba);
- irq = busdevice_alloc_irq(dev);
+ if (is_mongoose(dev)) {
+ irq = busdevice_alloc_irq(dev);
+ } else {
+ unsigned long old_hpa = dev->hpa;
+ /* Hack: Wax EISA on 712, 715/64, 715/80 and 715/100 (715/new)
+ * are bound to the Wax controller */
+ dev->hpa = (unsigned long) 0xfffffffff0200000;
+ irq = busdevice_alloc_irq(dev);
+ dev->hpa = old_hpa;
+ }
if (!irq) {
printk(KERN_ERR "EISA: failed to claim IRQ\n");
return -ENODEV;
}
- result = request_irq(irq, eisa_irq, 0, name, NULL);
+
+ result = request_irq(irq, eisa_irq, 0, "EISA", NULL);
if (result) {
printk(KERN_ERR "EISA: request_irq failed!\n");
return result;
Index: wax.c
===================================================================
RCS file: /home/cvs/parisc/linux/drivers/gsc/wax.c,v
retrieving revision 1.13
diff -u -p -r1.13 wax.c
--- wax.c 2001/10/12 06:35:44 1.13
+++ wax.c 2001/10/13 23:30:30
@@ -35,8 +35,9 @@ static int wax_find_irq(struct busdevice
int irq = -1;
switch (dev->id.sversion) {
- case 0x00073: irq = 30; break; /* HIL */
- case 0x0008c: irq = 25; break; /* RS232 */
+ case 0x73: irq = 30; break; /* HIL */
+ case 0x8c: irq = 25; break; /* RS232 */
+ case 0x90: irq = 21; break; /* WAX EISA BA */
}
return irq;