summaryrefslogtreecommitdiffstats
path: root/src/arch/i386/drivers/net/undi.c
diff options
context:
space:
mode:
authorMichael Brown2005-04-22 18:40:10 +0200
committerMichael Brown2005-04-22 18:40:10 +0200
commitdbea213c2706bad99de797fbaf0a555ac0b60097 (patch)
tree5e4a6879c8911d465620e68dc1791178c0908f20 /src/arch/i386/drivers/net/undi.c
parentMake it easier to comment out individual SRC directories when things (diff)
downloadipxe-dbea213c2706bad99de797fbaf0a555ac0b60097.tar.gz
ipxe-dbea213c2706bad99de797fbaf0a555ac0b60097.tar.xz
ipxe-dbea213c2706bad99de797fbaf0a555ac0b60097.zip
Coerced into compiling.
Diffstat (limited to 'src/arch/i386/drivers/net/undi.c')
-rw-r--r--src/arch/i386/drivers/net/undi.c26
1 files changed, 13 insertions, 13 deletions
diff --git a/src/arch/i386/drivers/net/undi.c b/src/arch/i386/drivers/net/undi.c
index 5edb88d4..a0d864a0 100644
--- a/src/arch/i386/drivers/net/undi.c
+++ b/src/arch/i386/drivers/net/undi.c
@@ -302,7 +302,7 @@ static int hunt_rom ( void ) {
/* If we are not a PCI device, we cannot search for a ROM that
* matches us (?)
*/
- if ( ! undi.pci->vendor )
+ if ( ! undi.pci->vendor_id )
return 0;
printf ( "Hunting for ROMs..." );
@@ -327,11 +327,11 @@ static int hunt_rom ( void ) {
}
printf ( "PCI:%hx:%hx...", pcir_header->vendor_id,
pcir_header->device_id );
- if ( ( pcir_header->vendor_id != undi.pci->vendor ) ||
- ( pcir_header->device_id != undi.pci->dev_id ) ) {
+ if ( (pcir_header->vendor_id != undi.pci->vendor_id) ||
+ (pcir_header->device_id != undi.pci->device_id) ){
printf ( "not me (%hx:%hx)\n...",
- undi.pci->vendor,
- undi.pci->dev_id );
+ undi.pci->vendor_id,
+ undi.pci->device_id );
continue;
}
if ( undi.rom->pnp_off == 0 ) {
@@ -661,7 +661,7 @@ static void nontrivial_irq_debug ( irq_t irq ) {
static int undi_loader ( void ) {
pxe_t *pxe = NULL;
- if ( ! undi.pci->vendor ) {
+ if ( ! undi.pci->vendor_id ) {
printf ( "ERROR: attempted to call loader of an ISA ROM?\n" );
return 0;
}
@@ -1331,7 +1331,8 @@ static void undi_transmit(
/**************************************************************************
DISABLE - Turn off ethernet interface
***************************************************************************/
-static void undi_disable ( struct nic *nic __unused ) {
+static void undi_disable ( struct nic *nic __unused,
+ struct pci_device *pci __unused ) {
undi_full_shutdown();
free_base_mem_data();
}
@@ -1369,14 +1370,12 @@ static struct nic_operations undi_operations = {
.poll = undi_poll,
.transmit = undi_transmit,
.irq = dummy_irq,
- .disable = undi_disable,
};
/* The actual Etherboot probe routine.
*/
-static int undi_probe ( struct dev *dev, struct pci_device *pci ) {
- struct nic *nic = nic_device ( dev );
+static int undi_probe ( struct nic *nic, struct pci_device *pci ) {
/* Zero out global undi structure */
memset ( &undi, 0, sizeof(undi) );
@@ -1434,7 +1433,7 @@ static int undi_probe ( struct dev *dev, struct pci_device *pci ) {
nic->nic_op = &undi_operations;
return 1;
}
- undi_disable ( nic ); /* To free base memory structures */
+ undi_disable ( nic, pci ); /* To free base memory structures */
return 0;
}
@@ -1448,8 +1447,9 @@ static struct pci_id undi_nics[] = {
};
static struct pci_driver undi_driver =
- PCI_DRIVER ( "UNDI", undi_nics, PCI_CLASS_NETWORK_ETHERNET );
+ PCI_DRIVER ( undi_nics, PCI_CLASS_NETWORK_ETHERNET );
-BOOT_DRIVER ( "UNDI", find_pci_boot_device, undi_driver, undi_probe );
+DRIVER ( "UNDI", nic_driver, pci_driver, undi_driver,
+ undi_probe, undi_disable );
#endif /* PCBIOS */