WAX EISA driver
PATCH 1/1 WAX EISA driver
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
wax_eisa.c +3 -3
@@ -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 */