[parisc-linux] [PATCH] WAX EISA driver

Bjorn Helgaas bjorn_helgaas@hp.com
Tue, 22 May 2001 16:40:52 -0600


No, I'm not signing up to make WAX work, and I really don't know any 
details about it; I just noticed what appear to be some obvious bugs while 
making some PCI changes.

Attached is a completely untested patch that makes it *look* more like the 
dino and lba code.  I do not plan to check this in, because I don't have 
the time or knowledge to test it.  If you do, feel free :-)

Bjorn


Index: drivers/gsc/wax_eisa.c
===================================================================
RCS file: /home/cvs/parisc/linux/drivers/gsc/wax_eisa.c,v
retrieving revision 1.3
diff -u -p -r1.3 wax_eisa.c
--- wax_eisa.c	2001/05/01 13:32:09	1.3
+++ wax_eisa.c	2001/05/22 22:04:58
@@ -41,7 +41,7 @@ static struct pa_iodc_driver wax_eisa_dr
 };
 
 #define WAX_EISA_OUT(type, size) \
-static void wax_out##type (u##size d, int addr) \
+static void wax_out##type (struct pci_hba_data *hba, u16 addr, u##size d) 
\
 { \
 	u32 out_addr; \
 	if (((addr >= 0x00080000) && (addr < 0x00100000)) || \
@@ -59,7 +59,7 @@ WAX_EISA_OUT(w,16)
 WAX_EISA_OUT(l,32)
 
 #define WAX_EISA_IN(type, size) \
-static u##size wax_in##type (int addr) \
+static u##size wax_in##type (struct pci_hba_data *hba, u16 addr) \
 { \
 	u32 out_addr; \
 	if (((addr >= 0x00080000) && (addr < 0x00100000)) || \
@@ -68,7 +68,7 @@ static u##size wax_in##type (int addr) \
 			((addr & 0x03f8) << 9) + (addr & 0x0007) ; \
 		return gsc_read##type(out_addr); \
 	} else { \
-		printk("WAX EISA Ack, cannot read from 0x%x\n",addr); \
+		printk("WAX EISA: Ack, cannot read from 0x%x\n",addr); \
 		return -1; \
 	} \
 }
@@ -123,7 +123,8 @@ wax_eisa_driver_init(struct hp_device *d
 	version = gsc_readw(d->hpa+0x7000);
 	printk(KERN_INFO "Wax EISA bus adapter version 0x%x at 
0x%p\n",version,d->hpa);
 
-	pcibios_register_hba((struct pci_hba_data *) &wax_port_ops);
+	pcibios_register_hba(HBA_DATA(&wax_eisa_hba));
+	pci_port = &wax_port_ops;
 
 #if 0
 	/* Turn off lock control */