diff options
author | Michael Brown | 2005-04-21 21:20:39 +0200 |
---|---|---|
committer | Michael Brown | 2005-04-21 21:20:39 +0200 |
commit | 614c39a8a40a32146793bd25906964659d90f95b (patch) | |
tree | 9acc979cce4658905d1bffd26d03058435c5d4c5 /src/drivers/net/tulip.c | |
parent | Tweaked API to minimise changes to existing drivers even further. (diff) | |
download | ipxe-614c39a8a40a32146793bd25906964659d90f95b.tar.gz ipxe-614c39a8a40a32146793bd25906964659d90f95b.tar.xz ipxe-614c39a8a40a32146793bd25906964659d90f95b.zip |
Automatically updated with the program
#!/usr/bin/perl -w -pi -0777
use strict;
( my $type ) = /find_(\w+?)_boot_device/ or die "Could not find type\n";
( my $disable ) = /\.disable\s*=\s*(\w+)/ or die "Could not locate disable\n";
s/(${disable}\s*\(\s*struct\s+nic\s+\*nic)(\s*\)\s*\{)(\s*)/${1}, struct ${type}_device \*${type} __unused${2}${3}nic_disable ( nic );${3}/s;
s/(${disable}\s*\(\s*struct\s+nic\s+\*nic)(\s*\)\s*;)/${1}, struct ${type}_device \*${type}${2}/g;
s/^\s*.disable\s*=\s*${disable}\s*,\s*?$//m;
s/(_probe\s*\(\s*)struct\s+dev\s+\*dev/${1}struct nic \*nic/g;
s/^\s*struct\s+nic\s+\*nic\s*=\s*nic_device\s*\(\s*dev\s*\)\s*;\s*?$//m;
s/^(\s*)(nic->(ioaddr|irqno)\s*=\s*${type})/${1}${type}_fill_nic ( nic, ${type} );\n${1}${2}/m;
Diffstat (limited to 'src/drivers/net/tulip.c')
-rw-r--r-- | src/drivers/net/tulip.c | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/drivers/net/tulip.c b/src/drivers/net/tulip.c index ecd5b017..03e039a1 100644 --- a/src/drivers/net/tulip.c +++ b/src/drivers/net/tulip.c @@ -486,13 +486,13 @@ static int mdio_read(struct nic *nic, int phy_id, int location); static void mdio_write(struct nic *nic, int phy_id, int location, int value); static int read_eeprom(unsigned long ioaddr, int location, int addr_len); static void parse_eeprom(struct nic *nic); -static int tulip_probe(struct dev *dev,struct pci_device *pci); +static int tulip_probe(struct nic *nic,struct pci_device *pci); static void tulip_init_ring(struct nic *nic); static void tulip_reset(struct nic *nic); static void tulip_transmit(struct nic *nic, const char *d, unsigned int t, unsigned int s, const char *p); static int tulip_poll(struct nic *nic, int retrieve); -static void tulip_disable(struct nic *nic); +static void tulip_disable(struct nic *nic, struct pci_device *pci); static void nway_start(struct nic *nic); static void pnic_do_nway(struct nic *nic); static void select_media(struct nic *nic, int startup); @@ -1180,7 +1180,8 @@ static int tulip_poll(struct nic *nic, int retrieve) /*********************************************************************/ /* eth_disable - Disable the interface */ /*********************************************************************/ -static void tulip_disable ( struct nic *nic ) { +static void tulip_disable ( struct nic *nic, struct pci_device *pci __unused ) { +nic_disable ( nic ); #ifdef TULIP_DEBUG_WHERE whereami("tulip_disable\n"); #endif @@ -1218,14 +1219,14 @@ static struct nic_operations tulip_operations = { .poll = tulip_poll, .transmit = tulip_transmit, .irq = tulip_irq, - .disable = tulip_disable, + }; /*********************************************************************/ /* eth_probe - Look for an adapter */ /*********************************************************************/ -static int tulip_probe ( struct dev *dev, struct pci_device *pci ) { - struct nic *nic = nic_device ( dev ); +static int tulip_probe ( struct nic *nic, struct pci_device *pci ) { + u32 i; u8 chip_rev; u8 ee_data[EEPROM_SIZE]; @@ -1237,6 +1238,7 @@ static int tulip_probe ( struct dev *dev, struct pci_device *pci ) { return 0; ioaddr = pci->ioaddr; + pci_fill_nic ( nic, pci ); nic->ioaddr = pci->ioaddr & ~3; nic->irqno = 0; @@ -2074,6 +2076,7 @@ PCI_ROM(0x1737, 0xab09, "tulip-ab09", "Tulip 0x1737 0xab09"), }; static struct pci_driver tulip_driver = - PCI_DRIVER ( "Tulip", tulip_nics, PCI_NO_CLASS ); + PCI_DRIVER ( tulip_nics, PCI_NO_CLASS ); -BOOT_DRIVER ( "Tulip", find_pci_boot_device, tulip_driver, tulip_probe ); +DRIVER ( "Tulip", nic_driver, pci_driver, tulip_driver, + tulip_probe, tulip_disable ); |