diff options
author | Michael Brown <mcb30@ipxe.org> | 2011-02-12 01:11:57 +0000 |
---|---|---|
committer | Michael Brown <mcb30@ipxe.org> | 2011-02-17 01:25:12 +0000 |
commit | 5bde349e55640b2d21fbe0f4f53edabe6878eb91 (patch) | |
tree | 6e99ca19a9ebfe68ddb06f353d06154651d1f635 | |
parent | abb5590b297076f071b72f347d8d3204163e097b (diff) | |
download | ipxe-5bde349e55640b2d21fbe0f4f53edabe6878eb91.tar.gz |
[pci] Make driver PCI ID a property of the PCI device
Signed-off-by: Michael Brown <mcb30@ipxe.org>
45 files changed, 77 insertions, 107 deletions
diff --git a/src/arch/i386/drivers/net/undi.c b/src/arch/i386/drivers/net/undi.c index 017843f6a..34fd09562 100644 --- a/src/arch/i386/drivers/net/undi.c +++ b/src/arch/i386/drivers/net/undi.c @@ -62,8 +62,7 @@ static struct undi_rom * undipci_find_rom ( struct pci_device *pci ) { * @v id PCI ID * @ret rc Return status code */ -static int undipci_probe ( struct pci_device *pci, - const struct pci_device_id *id __unused ) { +static int undipci_probe ( struct pci_device *pci ) { struct undi_device *undi; struct undi_rom *undirom; int rc; diff --git a/src/drivers/bus/pci.c b/src/drivers/bus/pci.c index a30fcc723..4d77dfe56 100644 --- a/src/drivers/bus/pci.c +++ b/src/drivers/bus/pci.c @@ -192,9 +192,9 @@ static int pci_probe ( struct pci_device *pci ) { ( id->device != pci->device ) ) continue; pci->driver = driver; - pci->driver_name = id->name; - DBGC ( pci, "...using driver %s\n", pci->driver_name ); - if ( ( rc = driver->probe ( pci, id ) ) != 0 ) { + pci->id = id; + DBGC ( pci, "...using driver %s\n", pci->id->name ); + if ( ( rc = driver->probe ( pci ) ) != 0 ) { DBGC ( pci, "......probe failed: %s\n", strerror ( rc ) ); continue; diff --git a/src/drivers/infiniband/arbel.c b/src/drivers/infiniband/arbel.c index ba80235a5..5331523bc 100644 --- a/src/drivers/infiniband/arbel.c +++ b/src/drivers/infiniband/arbel.c @@ -2642,8 +2642,7 @@ static int arbel_configure_special_qps ( struct arbel *arbel ) { * @v id PCI ID * @ret rc Return status code */ -static int arbel_probe ( struct pci_device *pci, - const struct pci_device_id *id __unused ) { +static int arbel_probe ( struct pci_device *pci ) { struct arbel *arbel; struct ib_device *ibdev; struct arbelprm_init_hca init_hca; diff --git a/src/drivers/infiniband/hermon.c b/src/drivers/infiniband/hermon.c index a67c67871..011892f2a 100644 --- a/src/drivers/infiniband/hermon.c +++ b/src/drivers/infiniband/hermon.c @@ -3332,8 +3332,7 @@ static void hermon_reset ( struct hermon *hermon, * @v id PCI ID * @ret rc Return status code */ -static int hermon_probe ( struct pci_device *pci, - const struct pci_device_id *id __unused ) { +static int hermon_probe ( struct pci_device *pci ) { struct hermon *hermon; struct ib_device *ibdev; struct net_device *netdev; diff --git a/src/drivers/infiniband/linda.c b/src/drivers/infiniband/linda.c index f3987d6ee..6a6a2ec9a 100644 --- a/src/drivers/infiniband/linda.c +++ b/src/drivers/infiniband/linda.c @@ -2316,8 +2316,7 @@ static int linda_init_ib_serdes ( struct linda *linda ) { * @v id PCI ID * @ret rc Return status code */ -static int linda_probe ( struct pci_device *pci, - const struct pci_device_id *id __unused ) { +static int linda_probe ( struct pci_device *pci ) { struct ib_device *ibdev; struct linda *linda; struct QIB_7220_Revision revision; diff --git a/src/drivers/infiniband/qib7322.c b/src/drivers/infiniband/qib7322.c index e8c63a1f4..23ec20a1e 100644 --- a/src/drivers/infiniband/qib7322.c +++ b/src/drivers/infiniband/qib7322.c @@ -2281,8 +2281,7 @@ static void qib7322_reset ( struct qib7322 *qib7322, struct pci_device *pci ) { * @v id PCI ID * @ret rc Return status code */ -static int qib7322_probe ( struct pci_device *pci, - const struct pci_device_id *id __unused ) { +static int qib7322_probe ( struct pci_device *pci ) { struct qib7322 *qib7322; struct QIB_7322_Revision revision; struct ib_device *ibdev; diff --git a/src/drivers/net/3c90x.c b/src/drivers/net/3c90x.c index f606ac122..c19005746 100644 --- a/src/drivers/net/3c90x.c +++ b/src/drivers/net/3c90x.c @@ -865,8 +865,7 @@ static struct net_device_operations a3c90x_operations = { * * @ret rc Returns 0 on success, negative on failure */ -static int a3c90x_probe(struct pci_device *pci, - const struct pci_device_id *pci_id __unused) +static int a3c90x_probe(struct pci_device *pci) { struct net_device *netdev; diff --git a/src/drivers/net/ath5k/ath5k.c b/src/drivers/net/ath5k/ath5k.c index 648118ae5..92c4ffdf4 100644 --- a/src/drivers/net/ath5k/ath5k.c +++ b/src/drivers/net/ath5k/ath5k.c @@ -157,8 +157,7 @@ static const struct { /* * Prototypes - PCI stack related functions */ -static int ath5k_probe(struct pci_device *pdev, - const struct pci_device_id *id); +static int ath5k_probe(struct pci_device *pdev); static void ath5k_remove(struct pci_device *pdev); struct pci_driver ath5k_pci_driver __pci_driver = { @@ -284,8 +283,7 @@ ath5k_chip_name(enum ath5k_srev_type type, u16 val) } #endif -static int ath5k_probe(struct pci_device *pdev, - const struct pci_device_id *id) +static int ath5k_probe(struct pci_device *pdev) { void *mem; struct ath5k_softc *sc; @@ -371,7 +369,7 @@ static int ath5k_probe(struct pci_device *pdev, dev->netdev->dev = (struct device *)pdev; /* Initialize device */ - ret = ath5k_hw_attach(sc, id->driver_data, &sc->ah); + ret = ath5k_hw_attach(sc, pdev->id->driver_data, &sc->ah); if (ret) goto err_free_hwinfo; diff --git a/src/drivers/net/atl1e.c b/src/drivers/net/atl1e.c index c43678354..d1ee064c3 100644 --- a/src/drivers/net/atl1e.c +++ b/src/drivers/net/atl1e.c @@ -1123,8 +1123,7 @@ static void atl1e_init_netdev(struct net_device *netdev, struct pci_device *pdev * The OS initialization, configuring of the adapter private structure, * and a hardware reset occur. */ -static int atl1e_probe(struct pci_device *pdev, - const struct pci_device_id *ent __unused) +static int atl1e_probe(struct pci_device *pdev) { struct net_device *netdev; struct atl1e_adapter *adapter = NULL; diff --git a/src/drivers/net/b44.c b/src/drivers/net/b44.c index d34bd8a73..66fa8ea3c 100644 --- a/src/drivers/net/b44.c +++ b/src/drivers/net/b44.c @@ -638,7 +638,7 @@ static void b44_set_rx_mode(struct net_device *netdev) * @v id Matching entry in ID table * @ret rc Return status code */ -static int b44_probe(struct pci_device *pci, const struct pci_device_id *id) +static int b44_probe(struct pci_device *pci) { struct net_device *netdev; struct b44_private *bp; @@ -694,8 +694,9 @@ static int b44_probe(struct pci_device *pci, const struct pci_device_id *id) b44_chip_reset(bp, B44_CHIP_RESET_FULL); - DBG("b44 %s (%04x:%04x) regs=%p MAC=%s\n", id->name, id->vendor, - id->device, bp->regs, eth_ntoa(netdev->ll_addr)); + DBG("b44 %s (%04x:%04x) regs=%p MAC=%s\n", pci->id->name, + pci->id->vendor, pci->id->device, bp->regs, + eth_ntoa(netdev->ll_addr)); return 0; } diff --git a/src/drivers/net/b44.h b/src/drivers/net/b44.h index b5afcbdd0..2d1f206e0 100644 --- a/src/drivers/net/b44.h +++ b/src/drivers/net/b44.h @@ -453,8 +453,7 @@ static void b44_free_rx_ring ( struct b44_private *bp ); static void b44_rx_refill ( struct b44_private *bp, u32 pending ); static void b44_populate_rx_descriptor (struct b44_private *bp, u32 index); -static int b44_probe ( struct pci_device *pci, - const struct pci_device_id *id ); +static int b44_probe ( struct pci_device *pci ); static void b44_remove ( struct pci_device *pci ); static int b44_open ( struct net_device *netdev ); diff --git a/src/drivers/net/dmfe.c b/src/drivers/net/dmfe.c index 6975ee7ef..dd6c1dec2 100644 --- a/src/drivers/net/dmfe.c +++ b/src/drivers/net/dmfe.c @@ -458,7 +458,7 @@ static int dmfe_probe ( struct nic *nic, struct pci_device *pci ) { BASE = pci->ioaddr; printf("dmfe.c: Found %s Vendor=0x%hX Device=0x%hX\n", - pci->driver_name, pci->vendor, pci->device); + pci->id->name, pci->vendor, pci->device); /* Read Chip revision */ pci_read_config_dword(pci, PCI_REVISION_ID, &dev_rev); @@ -489,7 +489,8 @@ static int dmfe_probe ( struct nic *nic, struct pci_device *pci ) { nic->node_addr[i] = db->srom[20 + i]; /* Print out some hardware info */ - DBG ( "%s: %s at ioaddr %4.4lx\n", pci->driver_name, eth_ntoa ( nic->node_addr ), BASE ); + DBG ( "%s: %s at ioaddr %4.4lx\n", + pci->id->name, eth_ntoa ( nic->node_addr ), BASE ); /* Set the card as PCI Bus Master */ adjust_pci_device(pci); diff --git a/src/drivers/net/e1000/e1000_api.h b/src/drivers/net/e1000/e1000_api.h index 07be1ce07..fc1e533d2 100644 --- a/src/drivers/net/e1000/e1000_api.h +++ b/src/drivers/net/e1000/e1000_api.h @@ -121,8 +121,7 @@ s32 e1000_mng_write_dhcp_info(struct e1000_hw * hw, u8 *buffer, u16 length); u32 e1000_translate_register_82542(u32 reg) __attribute__((weak)); -extern int e1000_probe(struct pci_device *pdev, - const struct pci_device_id *id __unused); +extern int e1000_probe(struct pci_device *pdev); extern void e1000_remove(struct pci_device *pdev); #endif diff --git a/src/drivers/net/e1000/e1000_main.c b/src/drivers/net/e1000/e1000_main.c index 636157010..2708e63f0 100644 --- a/src/drivers/net/e1000/e1000_main.c +++ b/src/drivers/net/e1000/e1000_main.c @@ -689,8 +689,7 @@ static struct net_device_operations e1000_operations; * * @ret rc Return status code **/ -int e1000_probe ( struct pci_device *pdev, - const struct pci_device_id *id __unused ) +int e1000_probe ( struct pci_device *pdev ) { int i, err; struct net_device *netdev; diff --git a/src/drivers/net/e1000e/e1000e.h b/src/drivers/net/e1000e/e1000e.h index 61584138a..bc8e7b083 100644 --- a/src/drivers/net/e1000e/e1000e.h +++ b/src/drivers/net/e1000e/e1000e.h @@ -276,8 +276,7 @@ extern void e1000e_init_function_pointers_80003es2lan(struct e1000_hw *hw) extern void e1000e_init_function_pointers_ich8lan(struct e1000_hw *hw) __attribute__((weak)); -extern int e1000e_probe(struct pci_device *pdev, - const struct pci_device_id *id __unused); +extern int e1000e_probe(struct pci_device *pdev); extern void e1000e_remove(struct pci_device *pdev); diff --git a/src/drivers/net/e1000e/e1000e_main.c b/src/drivers/net/e1000e/e1000e_main.c index 1b56f20c6..cfe114bdc 100644 --- a/src/drivers/net/e1000e/e1000e_main.c +++ b/src/drivers/net/e1000e/e1000e_main.c @@ -1005,8 +1005,7 @@ static struct net_device_operations e1000e_operations; * * @ret rc Return status code **/ -int e1000e_probe ( struct pci_device *pdev, - const struct pci_device_id *ent) +int e1000e_probe ( struct pci_device *pdev ) { int i, err; struct net_device *netdev; @@ -1014,7 +1013,7 @@ int e1000e_probe ( struct pci_device *pdev, unsigned long mmio_start, mmio_len; unsigned long flash_start, flash_len; struct e1000_hw *hw; - const struct e1000_info *ei = e1000_info_tbl[ent->driver_data]; + const struct e1000_info *ei = e1000_info_tbl[pdev->id->driver_data]; DBGP ( "e1000_probe\n" ); diff --git a/src/drivers/net/eepro100.c b/src/drivers/net/eepro100.c index f350b5c85..50214eccd 100644 --- a/src/drivers/net/eepro100.c +++ b/src/drivers/net/eepro100.c @@ -167,8 +167,7 @@ static struct net_device_operations ifec_operations = { * This function is called very early on, while iPXE is initializing. * This is a iPXE PCI Device Driver API function. */ -static int ifec_pci_probe ( struct pci_device *pci, - const struct pci_device_id *id __unused ) +static int ifec_pci_probe ( struct pci_device *pci ) { struct net_device *netdev; struct ifec_private *priv; diff --git a/src/drivers/net/eepro100.h b/src/drivers/net/eepro100.h index 1592c631c..3f72f59ec 100644 --- a/src/drivers/net/eepro100.h +++ b/src/drivers/net/eepro100.h @@ -171,7 +171,7 @@ struct ifec_private { /**************************** Function prototypes ****************************/ /* PCI device API prototypes */ -static int ifec_pci_probe ( struct pci_device*, const struct pci_device_id*); +static int ifec_pci_probe ( struct pci_device *pci ); static void ifec_pci_remove ( struct pci_device *pci ); /* Network device API prototypes */ diff --git a/src/drivers/net/etherfabric.c b/src/drivers/net/etherfabric.c index 836b85a9a..f7aae14f8 100644 --- a/src/drivers/net/etherfabric.c +++ b/src/drivers/net/etherfabric.c @@ -4129,8 +4129,7 @@ efab_remove ( struct pci_device *pci ) } static int -efab_probe ( struct pci_device *pci, - const struct pci_device_id *id ) +efab_probe ( struct pci_device *pci ) { struct net_device *netdev; struct efab_nic *efab; @@ -4190,7 +4189,7 @@ efab_probe ( struct pci_device *pci, goto fail5; } - EFAB_LOG ( "Found %s EtherFabric %s %s revision %d\n", id->name, + EFAB_LOG ( "Found %s EtherFabric %s %s revision %d\n", pci->id->name, efab->is_asic ? "ASIC" : "FPGA", efab->phy_10g ? "10G" : "1G", efab->pci_revision ); diff --git a/src/drivers/net/forcedeth.c b/src/drivers/net/forcedeth.c index 26bbdc8d0..3df683ef1 100644 --- a/src/drivers/net/forcedeth.c +++ b/src/drivers/net/forcedeth.c @@ -1796,7 +1796,7 @@ err_ioremap: * @ret rc Return status code **/ static int -forcedeth_probe ( struct pci_device *pdev, const struct pci_device_id *ent ) +forcedeth_probe ( struct pci_device *pdev ) { struct net_device *netdev; struct forcedeth_private *priv; @@ -1806,7 +1806,7 @@ forcedeth_probe ( struct pci_device *pdev, const struct pci_device_id *ent ) DBGP ( "forcedeth_probe\n" ); DBG ( "Found %s, vendor = %#04x, device = %#04x\n", - pdev->driver_name, ent->vendor, ent->device ); + pdev->id->name, pdev->id->vendor, pdev->id->device ); /* Allocate our private data */ netdev = alloc_etherdev ( sizeof ( *priv ) ); @@ -1829,7 +1829,7 @@ forcedeth_probe ( struct pci_device *pdev, const struct pci_device_id *ent ) /* We'll need these set up for the rest of the routines */ priv->pci_dev = pdev; priv->netdev = netdev; - priv->driver_data = ent->driver_data; + priv->driver_data = pdev->id->driver_data; adjust_pci_device ( pdev ); diff --git a/src/drivers/net/igb/igb.h b/src/drivers/net/igb/igb.h index f624a11ca..c8e8205df 100644 --- a/src/drivers/net/igb/igb.h +++ b/src/drivers/net/igb/igb.h @@ -34,7 +34,7 @@ FILE_LICENCE ( GPL2_ONLY ); #include "igb_api.h" -extern int igb_probe ( struct pci_device *pdev, const struct pci_device_id *ent); +extern int igb_probe ( struct pci_device *pdev ); extern void igb_remove ( struct pci_device *pdev ); struct igb_adapter; diff --git a/src/drivers/net/igb/igb_main.c b/src/drivers/net/igb/igb_main.c index df5cadc50..8d6415282 100644 --- a/src/drivers/net/igb/igb_main.c +++ b/src/drivers/net/igb/igb_main.c @@ -771,8 +771,7 @@ static struct net_device_operations igb_operations; * * @ret rc Return status code **/ -int igb_probe ( struct pci_device *pdev, - const struct pci_device_id *ent __unused) +int igb_probe ( struct pci_device *pdev ) { int i, err; struct net_device *netdev; diff --git a/src/drivers/net/igbvf/igbvf_main.c b/src/drivers/net/igbvf/igbvf_main.c index 6414d54c7..da5580507 100644 --- a/src/drivers/net/igbvf/igbvf_main.c +++ b/src/drivers/net/igbvf/igbvf_main.c @@ -779,8 +779,7 @@ void igbvf_get_hw_control ( struct igbvf_adapter *adapter ) * The OS initialization, configuring of the adapter private structure, * and a hardware reset occur. **/ -int igbvf_probe ( struct pci_device *pdev, - const struct pci_device_id *ent __unused ) +int igbvf_probe ( struct pci_device *pdev ) { int err; struct net_device *netdev; diff --git a/src/drivers/net/jme.c b/src/drivers/net/jme.c index eaddcb842..545402650 100644 --- a/src/drivers/net/jme.c +++ b/src/drivers/net/jme.c @@ -1175,7 +1175,7 @@ jme_load_macaddr(struct net_device *netdev) * @ret rc Return status code */ static int -jme_probe(struct pci_device *pci, const struct pci_device_id *id __unused) +jme_probe(struct pci_device *pci) { struct net_device *netdev; struct jme_adapter *jme; diff --git a/src/drivers/net/mtd80x.c b/src/drivers/net/mtd80x.c index 4d17d7ff5..170b5c524 100644 --- a/src/drivers/net/mtd80x.c +++ b/src/drivers/net/mtd80x.c @@ -617,7 +617,7 @@ static int mtd_probe ( struct nic *nic, struct pci_device *pci ) { nic->ioaddr = pci->ioaddr; nic->irqno = 0; - mtdx.nic_name = pci->driver_name; + mtdx.nic_name = pci->id->name; mtdx.dev_id = pci->device; mtdx.ioaddr = nic->ioaddr; diff --git a/src/drivers/net/myri10ge.c b/src/drivers/net/myri10ge.c index c7b9dfa24..5bb555d82 100644 --- a/src/drivers/net/myri10ge.c +++ b/src/drivers/net/myri10ge.c @@ -94,8 +94,7 @@ FILE_LICENCE ( GPL2_ONLY ); /* PCI driver entry points */ -static int myri10ge_pci_probe ( struct pci_device*, - const struct pci_device_id* ); +static int myri10ge_pci_probe ( struct pci_device* ); static void myri10ge_pci_remove ( struct pci_device* ); /* Network device operations */ @@ -771,8 +770,7 @@ myri10ge_nv_fini ( struct myri10ge_private *priv ) * This function is called very early on, while iPXE is initializing. * This is a iPXE PCI Device Driver API function. */ -static int myri10ge_pci_probe ( struct pci_device *pci, - const struct pci_device_id *id __unused ) +static int myri10ge_pci_probe ( struct pci_device *pci ) { static struct net_device_operations myri10ge_operations = { .open = myri10ge_net_open, diff --git a/src/drivers/net/natsemi.c b/src/drivers/net/natsemi.c index da2f0886f..171542818 100644 --- a/src/drivers/net/natsemi.c +++ b/src/drivers/net/natsemi.c @@ -83,7 +83,7 @@ FILE_LICENCE ( GPL_ANY ); static int natsemi_spi_read_bit ( struct bit_basher *, unsigned int ); static void natsemi_spi_write_bit ( struct bit_basher *,unsigned int, unsigned long ); static void natsemi_init_eeprom ( struct natsemi_private * ); -static int natsemi_probe (struct pci_device *pci, const struct pci_device_id *id); +static int natsemi_probe (struct pci_device *pci); static void natsemi_reset (struct net_device *netdev); static int natsemi_open (struct net_device *netdev); static int natsemi_transmit (struct net_device *netdev, struct io_buffer *iobuf); @@ -164,8 +164,7 @@ static void natsemi_init_eeprom ( struct natsemi_private *np ) { * @v id PCI ID * @ret rc Return status code */ -static int natsemi_probe (struct pci_device *pci, - const struct pci_device_id *id __unused) { +static int natsemi_probe (struct pci_device *pci) { struct net_device *netdev; struct natsemi_private *np = NULL; uint8_t ll_addr_encoded[MAX_LL_ADDR_LEN]; diff --git a/src/drivers/net/ns83820.c b/src/drivers/net/ns83820.c index c8dc23f83..5ea5937a3 100644 --- a/src/drivers/net/ns83820.c +++ b/src/drivers/net/ns83820.c @@ -824,7 +824,7 @@ static int ns83820_probe ( struct nic *nic, struct pci_device *pci ) { return 0; printf("ns83820.c: Found %s, vendor=0x%hX, device=0x%hX\n", - pci->driver_name, pci->vendor, pci->device); + pci->id->name, pci->vendor, pci->device); /* point to private storage */ ns = &nsx; @@ -862,12 +862,12 @@ static int ns83820_probe ( struct nic *nic, struct pci_device *pci ) { ns->CFG_cache = readl(ns->base + CFG); if ((ns->CFG_cache & CFG_PCI64_DET)) { - printf("%s: detected 64 bit PCI data bus.\n", pci->driver_name); + printf("%s: detected 64 bit PCI data bus.\n", pci->id->name); /*dev->CFG_cache |= CFG_DATA64_EN; */ if (!(ns->CFG_cache & CFG_DATA64_EN)) printf ("%s: EEPROM did not enable 64 bit bus. Disabled.\n", - pci->driver_name); + pci->id->name); } else ns->CFG_cache &= ~(CFG_DATA64_EN); diff --git a/src/drivers/net/pcnet32.c b/src/drivers/net/pcnet32.c index e957ad9bb..d6da3c5e5 100644 --- a/src/drivers/net/pcnet32.c +++ b/src/drivers/net/pcnet32.c @@ -1034,7 +1034,7 @@ static struct net_device_operations pcnet32_operations = { * @ret rc Return status code **/ static int -pcnet32_probe ( struct pci_device *pdev, const struct pci_device_id *ent ) +pcnet32_probe ( struct pci_device *pdev ) { struct net_device *netdev; struct pcnet32_private *priv; @@ -1044,7 +1044,7 @@ pcnet32_probe ( struct pci_device *pdev, const struct pci_device_id *ent ) DBGP ( "pcnet32_probe\n" ); DBG ( "Found %s, vendor = %#04x, device = %#04x\n", - pdev->driver_name, ent->vendor, ent->device ); + pdev->id->name, pdev->id->vendor, pdev->id->device ); /* Allocate our private data */ netdev = alloc_etherdev ( sizeof ( *priv ) ); diff --git a/src/drivers/net/phantom/phantom.c b/src/drivers/net/phantom/phantom.c index 6a3f5f7bf..87ade7e34 100644 --- a/src/drivers/net/phantom/phantom.c +++ b/src/drivers/net/phantom/phantom.c @@ -2038,8 +2038,7 @@ static int phantom_init_rcvpeg ( struct phantom_nic *phantom ) { * @v id PCI ID * @ret rc Return status code */ -static int phantom_probe ( struct pci_device *pci, - const struct pci_device_id *id __unused ) { +static int phantom_probe ( struct pci_device *pci ) { struct net_device *netdev; struct phantom_nic *phantom; struct settings *parent_settings; diff --git a/src/drivers/net/pnic.c b/src/drivers/net/pnic.c index b34b91266..4170cc640 100644 --- a/src/drivers/net/pnic.c +++ b/src/drivers/net/pnic.c @@ -215,8 +215,7 @@ static void pnic_remove ( struct pci_device *pci ) { /************************************************************************** PROBE - Look for an adapter, this routine's visible to the outside ***************************************************************************/ -static int pnic_probe ( struct pci_device *pci, - const struct pci_device_id *id __unused ) { +static int pnic_probe ( struct pci_device *pci ) { struct net_device *netdev; struct pnic *pnic; uint16_t api_version; diff --git a/src/drivers/net/r8169.c b/src/drivers/net/r8169.c index 5c5fbab5e..13ab65ba5 100644 --- a/src/drivers/net/r8169.c +++ b/src/drivers/net/r8169.c @@ -2050,18 +2050,19 @@ static struct net_device_operations rtl8169_operations = { * @ret rc Return status code **/ static int -rtl8169_probe ( struct pci_device *pdev, const struct pci_device_id *ent ) +rtl8169_probe ( struct pci_device *pdev ) { int i, rc; struct net_device *netdev; struct rtl8169_private *tp; void *ioaddr; - const struct rtl_cfg_info *cfg = rtl_cfg_infos + ent->driver_data; + const struct rtl_cfg_info *cfg = rtl_cfg_infos + pdev->id->driver_data; DBGP ( "rtl8169_probe\n" ); - DBG ( "ent->vendor = %#04x, ent->device = %#04x\n", ent->vendor, ent->device ); + DBG ( "id->vendor = %#04x, id->device = %#04x\n", + pdev->id->vendor, pdev->id->device ); DBG ( "cfg->intr_event = %#04x\n", cfg->intr_event ); diff --git a/src/drivers/net/rtl8139.c b/src/drivers/net/rtl8139.c index 7cc1de2f8..ebe84fb10 100644 --- a/src/drivers/net/rtl8139.c +++ b/src/drivers/net/rtl8139.c @@ -505,8 +505,7 @@ static struct net_device_operations rtl_operations = { * @v id PCI ID * @ret rc Return status code */ -static int rtl_probe ( struct pci_device *pci, - const struct pci_device_id *id __unused ) { +static int rtl_probe ( struct pci_device *pci ) { struct net_device *netdev; struct rtl8139_nic *rtl; int rc; diff --git a/src/drivers/net/rtl818x/rtl818x.c b/src/drivers/net/rtl818x/rtl818x.c index f9a46a2f9..cf4c7556f 100644 --- a/src/drivers/net/rtl818x/rtl818x.c +++ b/src/drivers/net/rtl818x/rtl818x.c @@ -649,8 +649,7 @@ struct net80211_device_operations rtl818x_operations = { .config = rtl818x_config, }; -static int rtl818x_probe(struct pci_device *pdev, - const struct pci_device_id *id __unused) +static int rtl818x_probe(struct pci_device *pdev ) { struct net80211_device *dev; struct rtl818x_priv *priv; diff --git a/src/drivers/net/sis190.c b/src/drivers/net/sis190.c index b0c3303fe..1bf4d92cc 100644 --- a/src/drivers/net/sis190.c +++ b/src/drivers/net/sis190.c @@ -47,8 +47,7 @@ static struct pci_device_id sis190_isa_bridge_tbl[] = { PCI_ID (0x1039, 0x0968, "", "", 0), }; -static int sis190_isa_bridge_probe(struct pci_device *pdev __unused, - const struct pci_device_id *ent __unused) +static int sis190_isa_bridge_probe(struct pci_device *pdev __unused) { return 0; } @@ -1110,8 +1109,7 @@ static struct net_device_operations sis190_netdev_ops = { .irq = sis190_irq, }; -static int sis190_probe(struct pci_device *pdev, - const struct pci_device_id *ent __unused) +static int sis190_probe(struct pci_device *pdev) { struct sis190_private *tp; struct net_device *dev; diff --git a/src/drivers/net/skge.c b/src/drivers/net/skge.c index c9fb6bae3..fea338414 100755 --- a/src/drivers/net/skge.c +++ b/src/drivers/net/skge.c @@ -2333,8 +2333,7 @@ static void skge_show_addr(struct net_device *dev) dev->name, netdev_addr(dev)); } -static int skge_probe(struct pci_device *pdev, - const struct pci_device_id *ent __unused) +static int skge_probe(struct pci_device *pdev) { struct net_device *dev, *dev1; struct skge_hw *hw; diff --git a/src/drivers/net/sky2.c b/src/drivers/net/sky2.c index 059c7f07f..a0a3acd77 100644 --- a/src/drivers/net/sky2.c +++ b/src/drivers/net/sky2.c @@ -2264,8 +2264,7 @@ static struct net_device_operations sky2_operations = { .irq = sky2_net_irq }; -static int sky2_probe(struct pci_device *pdev, - const struct pci_device_id *ent __unused) +static int sky2_probe(struct pci_device *pdev) { struct net_device *dev; struct sky2_hw *hw; diff --git a/src/drivers/net/sundance.c b/src/drivers/net/sundance.c index 2ee6089d6..63a9ea5f1 100644 --- a/src/drivers/net/sundance.c +++ b/src/drivers/net/sundance.c @@ -575,7 +575,7 @@ static int sundance_probe ( struct nic *nic, struct pci_device *pci ) { /* BASE is used throughout to address the card */ BASE = pci->ioaddr; printf(" sundance.c: Found %s Vendor=0x%hX Device=0x%hX\n", - pci->driver_name, pci->vendor, pci->device); + pci->id->name, pci->vendor, pci->device); /* Get the MAC Address by reading the EEPROM */ for (i = 0; i < 3; i++) { @@ -597,7 +597,7 @@ static int sundance_probe ( struct nic *nic, struct pci_device *pci ) { /* point to private storage */ sdc = &sdx; - sdc->nic_name = pci->driver_name; + sdc->nic_name = pci->id->name; sdc->mtu = mtu; pci_read_config_byte(pci, PCI_REVISION_ID, &sdc->pci_rev_id); @@ -605,7 +605,8 @@ static int sundance_probe ( struct nic *nic, struct pci_device *pci ) { DBG ( "Device revision id: %hx\n", sdc->pci_rev_id ); /* Print out some hardware info */ - DBG ( "%s: %s at ioaddr %hX, ", pci->driver_name, nic->node_addr, (unsigned int) BASE); + DBG ( "%s: %s at ioaddr %hX, ", + pci->id->name, nic->node_addr, (unsigned int) BASE); sdc->mii_preamble_required = 0; if (1) { diff --git a/src/drivers/net/tlan.c b/src/drivers/net/tlan.c index c775620bc..b1a09d187 100644 --- a/src/drivers/net/tlan.c +++ b/src/drivers/net/tlan.c @@ -810,7 +810,7 @@ static int tlan_probe ( struct nic *nic, struct pci_device *pci ) { priv->vendor_id = pci->vendor; priv->dev_id = pci->device; - priv->nic_name = pci->driver_name; + priv->nic_name = pci->id->name; priv->eoc = 0; err = 0; @@ -821,10 +821,10 @@ static int tlan_probe ( struct nic *nic, struct pci_device *pci ) { (u8 *) & nic->node_addr[i]); if (err) { printf ( "TLAN: %s: Error reading MAC from eeprom: %d\n", - pci->driver_name, err); + pci->id->name, err); } else { DBG ( "%s: %s at ioaddr %#lX, ", - pci->driver_name, eth_ntoa ( nic->node_addr ), pci->ioaddr ); + pci->id->name, eth_ntoa ( nic->node_addr ), pci->ioaddr ); } priv->tlanRev = TLan_DioRead8(BASE, TLAN_DEF_REVISION); diff --git a/src/drivers/net/tulip.c b/src/drivers/net/tulip.c index bc7a23687..7a23b7e9e 100644 --- a/src/drivers/net/tulip.c +++ b/src/drivers/net/tulip.c @@ -1191,7 +1191,7 @@ static int tulip_probe ( struct nic *nic, struct pci_device *pci ) { tp->vendor_id = pci->vendor; tp->dev_id = pci->device; - tp->nic_name = pci->driver_name; + tp->nic_name = pci->id->name; tp->if_port = 0; tp->default_port = 0; diff --git a/src/drivers/net/via-velocity.c b/src/drivers/net/via-velocity.c index f2326b8d1..549460a5c 100644 --- a/src/drivers/net/via-velocity.c +++ b/src/drivers/net/via-velocity.c @@ -675,7 +675,7 @@ static int velocity_probe( struct nic *nic, struct pci_device *pci) struct mac_regs *regs; printf("via-velocity.c: Found %s Vendor=0x%hX Device=0x%hX\n", - pci->driver_name, pci->vendor, pci->device); + pci->id->name, pci->vendor, pci->device); /* point to private storage */ vptr = &vptx; @@ -707,10 +707,10 @@ static int velocity_probe( struct nic *nic, struct pci_device *pci) for (i = 0; i < 6; i++) nic->node_addr[i] = readb(®s->PAR[i]); - DBG ( "%s: %s at ioaddr %#hX\n", pci->driver_name, eth_ntoa ( nic->node_addr ), + DBG ( "%s: %s at ioaddr %#hX\n", pci->id->name, eth_ntoa ( nic->node_addr ), (unsigned int) BASE ); - velocity_get_options(&vptr->options, 0, pci->driver_name); + velocity_get_options(&vptr->options, 0, pci->id->name); /* * Mask out the options cannot be set to the chip diff --git a/src/drivers/net/virtio-net.c b/src/drivers/net/virtio-net.c index 1c5f074c0..54e962d1f 100644 --- a/src/drivers/net/virtio-net.c +++ b/src/drivers/net/virtio-net.c @@ -344,8 +344,7 @@ static struct net_device_operations virtnet_operations = { * @v id PCI ID * @ret rc Return status code */ -static int virtnet_probe ( struct pci_device *pci, - const struct pci_device_id *id __unused ) { +static int virtnet_probe ( struct pci_device *pci ) { unsigned long ioaddr = pci->ioaddr; struct net_device *netdev; struct virtnet_nic *virtnet; diff --git a/src/drivers/net/vxge/vxge_main.c b/src/drivers/net/vxge/vxge_main.c index a85634471..a88129852 100644 --- a/src/drivers/net/vxge/vxge_main.c +++ b/src/drivers/net/vxge/vxge_main.c @@ -495,7 +495,7 @@ vxge_device_unregister(struct __vxge_hw_device *hldev) * */ static int -vxge_probe(struct pci_device *pdev, const struct pci_device_id *id __unused) +vxge_probe(struct pci_device *pdev) { struct __vxge_hw_device *hldev; enum vxge_hw_status status; diff --git a/src/include/ipxe/pci.h b/src/include/ipxe/pci.h index 01df76176..c116f6e09 100644 --- a/src/include/ipxe/pci.h +++ b/src/include/ipxe/pci.h @@ -312,8 +312,8 @@ struct pci_device { * field. */ void *priv; - /** Driver name */ - const char *driver_name; + /** Driver device ID */ + struct pci_device_id *id; }; /** A PCI driver */ @@ -326,11 +326,9 @@ struct pci_driver { * Probe device * * @v pci PCI device - * @v id Matching entry in ID table * @ret rc Return status code */ - int ( * probe ) ( struct pci_device *pci, - const struct pci_device_id *id ); + int ( * probe ) ( struct pci_device *pci ); /** * Remove device * diff --git a/src/include/nic.h b/src/include/nic.h index d5375bd6a..9aaede8a7 100644 --- a/src/include/nic.h +++ b/src/include/nic.h @@ -85,8 +85,7 @@ void legacy_remove ( void *hwdev, #define PCI_DRIVER(_name,_ids,_class) \ static inline int \ - _name ## _pci_legacy_probe ( struct pci_device *pci, \ - const struct pci_device_id *id ); \ + _name ## _pci_legacy_probe ( struct pci_device *pci ); \ static inline void \ _name ## _pci_legacy_remove ( struct pci_device *pci ); \ struct pci_driver _name __pci_driver = { \ @@ -211,8 +210,7 @@ static inline void * legacy_isa_get_drvdata ( void *hwdev ) { _unsafe_disable ( nic, hwdev ); \ } \ static inline int \ - _name ## _pci_legacy_probe ( struct pci_device *pci, \ - const struct pci_device_id *id __unused ) { \ + _name ## _pci_legacy_probe ( struct pci_device *pci ) { \ return legacy_probe ( pci, legacy_pci_set_drvdata, \ &pci->dev, _name ## _probe, \ _name ## _disable ); \ |