]> Joshua Wise's Git repositories - netwatch.git/blobdiff - net/3c90x.c
Actually invoke the 3c90x driver load routine.
[netwatch.git] / net / 3c90x.c
index 37fd34d9cce4f4a29a2b0dc56c75ef639d2fba8e..f678aaf21a377f6d8e6a4a580ec5ba9c6c299295 100644 (file)
  */
 
 #include "etherboot-compat.h"
+#include "net.h"
 #include <timer.h>
 #include <io.h>
 #include <pci.h>
+#include <pci-bother.h>
 #include <minilib.h>
 #include <output.h>
 
@@ -250,6 +252,7 @@ static struct
     RXD                        ReceiveUPD;
     }
     INF_3C90X;
+static struct nic nic;
 
 
 /*** a3c90x_internal_IssueCommand: sends a command to the 3c90x card
@@ -712,8 +715,9 @@ static int a3c90x_probe(struct pci_dev * pci, void * data)
 /*
     adjust_pci_dev(pci);
 */
-    nic->ioaddr = ioaddr & ~3;
-    nic->irqno = 0;
+    pci_bother_add(pci);
+    nic.ioaddr = ioaddr & ~3;
+    nic.irqno = 0;
 
     INF_3C90X.IOAddr = ioaddr & ~3;
     INF_3C90X.CurrentWindow = 255;
@@ -823,7 +827,7 @@ static int a3c90x_probe(struct pci_dev * pci, void * data)
     /** Fill in our entry in the etherboot arp table **/
 /* XXX ? for lwip? 
     for(i=0;i<ETH_ALEN;i++)
-       nic->node_addr[i] = (eeprom[HWADDR_OFFSET + i/2] >> (8*((i&1)^1))) & 0xff;
+       nic.node_addr[i] = (eeprom[HWADDR_OFFSET + i/2] >> (8*((i&1)^1))) & 0xff;
 */
 
     /** Read the media options register, print a message and set default
@@ -963,8 +967,8 @@ static int a3c90x_probe(struct pci_dev * pci, void * data)
                                  cmdAcknowledgeInterrupt, 0x661);
 
     /* * Set our exported functions **/
-    nic->poll     = a3c90x_poll;
-    nic->transmit = a3c90x_transmit;
+    nic.poll     = a3c90x_poll;
+    nic.transmit = a3c90x_transmit;
 
     return 1;
 }
This page took 0.024742 seconds and 4 git commands to generate.