diff options
Diffstat (limited to 'src/drivers')
| -rw-r--r-- | src/drivers/bus/isa.c | 6 | ||||
| -rw-r--r-- | src/drivers/bus/pci.c | 16 | ||||
| -rw-r--r-- | src/drivers/net/dmfe.c | 4 | ||||
| -rw-r--r-- | src/drivers/net/forcedeth.c | 10 | ||||
| -rw-r--r-- | src/drivers/net/legacy.c | 1 | ||||
| -rw-r--r-- | src/drivers/net/mtd80x.c | 2 | ||||
| -rw-r--r-- | src/drivers/net/natsemi.c | 2 | ||||
| -rwxr-xr-x | src/drivers/net/ns83820.c | 14 | ||||
| -rw-r--r-- | src/drivers/net/pcnet32.c | 2 | ||||
| -rw-r--r-- | src/drivers/net/pnic.c | 1 | ||||
| -rw-r--r-- | src/drivers/net/r8169.c | 10 | ||||
| -rw-r--r-- | src/drivers/net/rtl8139.c | 1 | ||||
| -rw-r--r-- | src/drivers/net/sundance.c | 6 | ||||
| -rw-r--r-- | src/drivers/net/tlan.c | 6 | ||||
| -rw-r--r-- | src/drivers/net/tulip.c | 2 | ||||
| -rw-r--r-- | src/drivers/net/via-velocity.c | 6 |
16 files changed, 50 insertions, 39 deletions
diff --git a/src/drivers/bus/isa.c b/src/drivers/bus/isa.c index 7529f1a27..d8b88fdb2 100644 --- a/src/drivers/bus/isa.c +++ b/src/drivers/bus/isa.c @@ -45,8 +45,10 @@ static isa_probe_addr_t isa_extra_probe_addrs[] = { * Symbols defined by linker * */ -static struct isa_driver isa_drivers[0] __table_start ( isa_driver ); -static struct isa_driver isa_drivers_end[0] __table_end ( isa_driver ); +static struct isa_driver isa_drivers[0] + __table_start ( struct isa_driver, isa_driver ); +static struct isa_driver isa_drivers_end[0] + __table_end ( struct isa_driver, isa_driver ); /* * Increment a bus_loc structure to the next possible ISA location. diff --git a/src/drivers/bus/pci.c b/src/drivers/bus/pci.c index e7528e3ce..11a8e0a0a 100644 --- a/src/drivers/bus/pci.c +++ b/src/drivers/bus/pci.c @@ -23,6 +23,7 @@ #include <stdlib.h> #include <string.h> #include <errno.h> +#include <vsprintf.h> #include <gpxe/tables.h> #include <gpxe/device.h> #include <gpxe/pci.h> @@ -33,8 +34,10 @@ * */ -static struct pci_driver pci_drivers[0] __table_start ( pci_drivers ); -static struct pci_driver pci_drivers_end[0] __table_end ( pci_drivers ); +static struct pci_driver pci_drivers[0] + __table_start ( struct pci_driver, pci_drivers ); +static struct pci_driver pci_drivers_end[0] + __table_end ( struct pci_driver, pci_drivers ); static void pcibus_remove ( struct root_device *rootdev ); @@ -194,8 +197,8 @@ static int pci_probe ( struct pci_device *pci ) { ( id->device != pci->device ) ) continue; pci->driver = driver; - pci->name = id->name; - DBG ( "...using driver %s\n", pci->name ); + pci->driver_name = id->name; + DBG ( "...using driver %s\n", pci->driver_name ); if ( ( rc = driver->probe ( pci, id ) ) != 0 ) { DBG ( "......probe failed\n" ); continue; @@ -276,6 +279,9 @@ static int pcibus_probe ( struct root_device *rootdev ) { pci_read_bases ( pci ); /* Add to device hierarchy */ + snprintf ( pci->dev.name, sizeof ( pci->dev.name ), + "PCI%02x:%02x.%x", bus, + PCI_SLOT ( devfn ), PCI_FUNC ( devfn ) ); pci->dev.parent = &rootdev->dev; list_add ( &pci->dev.siblings, &rootdev->dev.children); INIT_LIST_HEAD ( &pci->dev.children ); @@ -325,6 +331,6 @@ static struct root_driver pci_root_driver = { /** PCI bus root device */ struct root_device pci_root_device __root_device = { - .name = "PCI", + .dev = { .name = "PCI" }, .driver = &pci_root_driver, }; diff --git a/src/drivers/net/dmfe.c b/src/drivers/net/dmfe.c index 4a4ac7d45..7320e9036 100644 --- a/src/drivers/net/dmfe.c +++ b/src/drivers/net/dmfe.c @@ -457,7 +457,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->name, pci->vendor, pci->device); + pci->driver_name, pci->vendor, pci->device); /* Read Chip revision */ pci_read_config_dword(pci, PCI_REVISION_ID, &dev_rev); @@ -488,7 +488,7 @@ 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->name, eth_ntoa ( nic->node_addr ), BASE ); + DBG ( "%s: %s at ioaddr %4.4lx\n", pci->driver_name, eth_ntoa ( nic->node_addr ), BASE ); /* Set the card as PCI Bus Master */ adjust_pci_device(pci); diff --git a/src/drivers/net/forcedeth.c b/src/drivers/net/forcedeth.c index 67f0c1ee0..2008c39a1 100644 --- a/src/drivers/net/forcedeth.c +++ b/src/drivers/net/forcedeth.c @@ -1246,7 +1246,7 @@ static int forcedeth_probe ( struct nic *nic, struct pci_device *pci ) { return 0; printf("forcedeth.c: Found %s, vendor=0x%hX, device=0x%hX\n", - pci->name, pci->vendor, pci->device); + pci->driver_name, pci->vendor, pci->device); pci_fill_nic ( nic, pci ); @@ -1306,7 +1306,7 @@ static int forcedeth_probe ( struct nic *nic, struct pci_device *pci ) { } #endif - DBG ( "%s: MAC Address %s\n", pci->name, eth_ntoa ( nic->node_addr ) ); + DBG ( "%s: MAC Address %s\n", pci->driver_name, eth_ntoa ( nic->node_addr ) ); /* disable WOL */ writel(0, base + NvRegWakeUpFlags); @@ -1381,7 +1381,7 @@ static int forcedeth_probe ( struct nic *nic, struct pci_device *pci ) { id2 = (id2 & PHYID2_OUI_MASK) >> PHYID2_OUI_SHFT; dprintf (("%s: open: Found PHY %hX:%hX at address %d.\n", - pci->name, id1, id2, i)); + pci->driver_name, id1, id2, i)); np->phyaddr = i; np->phy_oui = id1 | id2; break; @@ -1391,7 +1391,7 @@ static int forcedeth_probe ( struct nic *nic, struct pci_device *pci ) { * test loopback? Very odd, but can be correct. */ printf - ("%s: open: Could not find a valid PHY.\n", pci->name); + ("%s: open: Could not find a valid PHY.\n", pci->driver_name); } if (i != 32) { @@ -1400,7 +1400,7 @@ static int forcedeth_probe ( struct nic *nic, struct pci_device *pci ) { } dprintf(("%s: forcedeth.c: subsystem: %hX:%hX bound to %s\n", - pci->name, pci->vendor, pci->dev_id, pci->name)); + pci->driver_name, pci->vendor, pci->dev_id, pci->driver_name)); if(!forcedeth_reset(nic)) return 0; // no valid link /* point to NIC specific routines */ diff --git a/src/drivers/net/legacy.c b/src/drivers/net/legacy.c index 091cdcc20..73d1d7871 100644 --- a/src/drivers/net/legacy.c +++ b/src/drivers/net/legacy.c @@ -84,6 +84,7 @@ int legacy_probe ( struct pci_device *pci, netdev->priv = &nic; memset ( &nic, 0, sizeof ( nic ) ); pci_set_drvdata ( pci, netdev ); + netdev->dev = &pci->dev; netdev->open = legacy_open; netdev->close = legacy_close; diff --git a/src/drivers/net/mtd80x.c b/src/drivers/net/mtd80x.c index 767aeade0..d6dc5bcd4 100644 --- a/src/drivers/net/mtd80x.c +++ b/src/drivers/net/mtd80x.c @@ -677,7 +677,7 @@ static int mtd_probe ( struct nic *nic, struct pci_device *pci ) { pci_fill_nic ( nic, pci ); adjust_pci_device(pci); - mtdx.nic_name = pci->name; + mtdx.nic_name = pci->driver_name; mtdx.dev_id = pci->device; mtdx.ioaddr = nic->ioaddr; diff --git a/src/drivers/net/natsemi.c b/src/drivers/net/natsemi.c index d8b1d2084..b58cb672c 100644 --- a/src/drivers/net/natsemi.c +++ b/src/drivers/net/natsemi.c @@ -262,7 +262,7 @@ natsemi_probe ( struct nic *nic, struct pci_device *pci ) { ioaddr = pci->ioaddr; vendor = pci->vendor; dev_id = pci->device; - nic_name = pci->name; + nic_name = pci->driver_name; /* natsemi has a non-standard PM control register * in PCI config space. Some boards apparently need diff --git a/src/drivers/net/ns83820.c b/src/drivers/net/ns83820.c index d14f670d3..33358a0df 100755 --- a/src/drivers/net/ns83820.c +++ b/src/drivers/net/ns83820.c @@ -821,7 +821,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->name, pci->vendor, pci->device); + pci->driver_name, pci->vendor, pci->device); /* point to private storage */ ns = &nsx; @@ -860,12 +860,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->name); + printf("%s: detected 64 bit PCI data bus.\n", pci->driver_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->name); + pci->driver_name); } else ns->CFG_cache &= ~(CFG_DATA64_EN); @@ -895,7 +895,7 @@ static int ns83820_probe ( struct nic *nic, struct pci_device *pci ) { /* setup optical transceiver if we have one */ if (ns->CFG_cache & CFG_TBI_EN) { - dprintf(("%s: enabling optical transceiver\n", pci->name)); + dprintf(("%s: enabling optical transceiver\n", pci->driver_name)); writel(readl(ns->base + GPIOR) | 0x3e8, ns->base + GPIOR); /* setup auto negotiation feature advertisement */ @@ -916,7 +916,7 @@ static int ns83820_probe ( struct nic *nic, struct pci_device *pci ) { /* FIXME: reset_phy is defaulted to 0, should we reset anyway? */ if (reset_phy) { - dprintf(("%s: resetting phy\n", pci->name)); + dprintf(("%s: resetting phy\n", pci->driver_name)); writel(ns->CFG_cache | CFG_PHY_RST, ns->base + CFG); writel(ns->CFG_cache, ns->base + CFG); } @@ -981,11 +981,11 @@ static int ns83820_probe ( struct nic *nic, struct pci_device *pci ) { ns83820_getmac(nic, nic->node_addr); if (using_dac) { - dprintf(("%s: using 64 bit addressing.\n", pci->name)); + dprintf(("%s: using 64 bit addressing.\n", pci->driver_name)); } dprintf(("%s: DP83820 %d.%d: %! io=0x%hX\n", - pci->name, + pci->driver_name, (unsigned) readl(ns->base + SRR) >> 8, (unsigned) readl(ns->base + SRR) & 0xff, nic->node_addr, pci->ioaddr)); diff --git a/src/drivers/net/pcnet32.c b/src/drivers/net/pcnet32.c index 179e3ca5a..8997603db 100644 --- a/src/drivers/net/pcnet32.c +++ b/src/drivers/net/pcnet32.c @@ -678,7 +678,7 @@ static int pcnet32_probe ( struct nic *nic, struct pci_device *pci ) { /* BASE is used throughout to address the card */ ioaddr = pci->ioaddr; printf("pcnet32.c: Found %s, Vendor=0x%hX Device=0x%hX\n", - pci->name, pci->vendor, pci->device); + pci->driver_name, pci->vendor, pci->device); nic->irqno = 0; pci_fill_nic ( nic, pci ); diff --git a/src/drivers/net/pnic.c b/src/drivers/net/pnic.c index c74e7b508..75d08ac8d 100644 --- a/src/drivers/net/pnic.c +++ b/src/drivers/net/pnic.c @@ -234,6 +234,7 @@ static int pnic_probe ( struct pci_device *pci, } pnic = netdev->priv; pci_set_drvdata ( pci, netdev ); + netdev->dev = &pci->dev; pnic->ioaddr = pci->ioaddr; /* API version check */ diff --git a/src/drivers/net/r8169.c b/src/drivers/net/r8169.c index 3ec1f097d..c806ccdc2 100644 --- a/src/drivers/net/r8169.c +++ b/src/drivers/net/r8169.c @@ -884,7 +884,7 @@ static int r8169_probe ( struct nic *nic, struct pci_device *pci ) { int option = -1, Cap10_100 = 0, Cap1000 = 0; printf ( "r8169.c: Found %s, Vendor=%hX Device=%hX\n", - pci->name, pci->vendor, pci->device ); + pci->driver_name, pci->vendor, pci->device ); board_idx++; @@ -899,11 +899,11 @@ static int r8169_probe ( struct nic *nic, struct pci_device *pci ) { for (i = 0; i < MAC_ADDR_LEN; i++) nic->node_addr[i] = RTL_R8(MAC0 + i); - DBG ( "%s: Identified chip type is '%s'.\n", pci->name, + DBG ( "%s: Identified chip type is '%s'.\n", pci->driver_name, rtl_chip_info[tpc->chipset].name ); /* Print out some hardware info */ - DBG ( "%s: %s at IOAddr %#hX, ", pci->name, eth_ntoa ( nic->node_addr ), + DBG ( "%s: %s at IOAddr %#hX, ", pci->driver_name, eth_ntoa ( nic->node_addr ), ioaddr ); /* Config PHY */ @@ -965,7 +965,7 @@ static int r8169_probe ( struct nic *nic, struct pci_device *pci ) { RTL8169_WRITE_GMII_REG(ioaddr, PHY_1000_CTRL_REG, Cap1000); } else { - DBG ( "%s: Auto-negotiation Enabled.\n", pci->name ); + DBG ( "%s: Auto-negotiation Enabled.\n", pci->driver_name ); // enable 10/100 Full/Half Mode, leave PHY_AUTO_NEGO_REG bit4:0 unchanged RTL8169_WRITE_GMII_REG(ioaddr, PHY_AUTO_NEGO_REG, @@ -1016,7 +1016,7 @@ static int r8169_probe ( struct nic *nic, struct pci_device *pci ) { udelay(100); printf ("%s: 1000Mbps Full-duplex operation, TBI Link %s!\n", - pci->name, + pci->driver_name, (RTL_R32(TBICSR) & TBILinkOK) ? "OK" : "Failed"); } diff --git a/src/drivers/net/rtl8139.c b/src/drivers/net/rtl8139.c index a25755c2d..08130b230 100644 --- a/src/drivers/net/rtl8139.c +++ b/src/drivers/net/rtl8139.c @@ -532,6 +532,7 @@ static int rtl_probe ( struct pci_device *pci, } rtl = netdev->priv; pci_set_drvdata ( pci, netdev ); + netdev->dev = &pci->dev; memset ( rtl, 0, sizeof ( *rtl ) ); rtl->ioaddr = pci->ioaddr; diff --git a/src/drivers/net/sundance.c b/src/drivers/net/sundance.c index 16272b7b8..99ba611dd 100644 --- a/src/drivers/net/sundance.c +++ b/src/drivers/net/sundance.c @@ -581,7 +581,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->name, pci->vendor, pci->device); + pci->driver_name, pci->vendor, pci->device); /* Get the MAC Address by reading the EEPROM */ for (i = 0; i < 3; i++) { @@ -603,7 +603,7 @@ static int sundance_probe ( struct nic *nic, struct pci_device *pci ) { /* point to private storage */ sdc = &sdx; - sdc->nic_name = pci->name; + sdc->nic_name = pci->driver_name; sdc->mtu = mtu; pci_read_config_byte(pci, PCI_REVISION_ID, &sdc->pci_rev_id); @@ -611,7 +611,7 @@ 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->name, nic->node_addr, BASE); + DBG ( "%s: %s at ioaddr %hX, ", pci->driver_name, nic->node_addr, BASE); sdc->mii_preamble_required = 0; if (1) { diff --git a/src/drivers/net/tlan.c b/src/drivers/net/tlan.c index e1ff5641c..105932086 100644 --- a/src/drivers/net/tlan.c +++ b/src/drivers/net/tlan.c @@ -809,7 +809,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->name; + priv->nic_name = pci->driver_name; priv->eoc = 0; err = 0; @@ -820,10 +820,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->name, err); + pci->driver_name, err); } else { DBG ( "%s: %s at ioaddr %#lX, ", - pci->name, eth_ntoa ( nic->node_addr ), pci->ioaddr ); + pci->driver_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 f5fdbaad0..4b525848f 100644 --- a/src/drivers/net/tulip.c +++ b/src/drivers/net/tulip.c @@ -1252,7 +1252,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->name; + tp->nic_name = pci->driver_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 78a45ca9e..740cc30a3 100644 --- a/src/drivers/net/via-velocity.c +++ b/src/drivers/net/via-velocity.c @@ -673,7 +673,7 @@ static int velocity_probe(struct pci_device *dev, struct pci_device *pci) struct mac_regs *regs; printf("via-velocity.c: Found %s Vendor=0x%hX Device=0x%hX\n", - pci->name, pci->vendor, pci->device); + pci->driver_name, pci->vendor, pci->device); /* point to private storage */ vptr = &vptx; @@ -705,9 +705,9 @@ static int velocity_probe(struct pci_device *dev, 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->name, eth_ntoa ( nic->node_addr ), BASE ); + DBG ( "%s: %s at ioaddr %#hX\n", pci->driver_name, eth_ntoa ( nic->node_addr ), BASE ); - velocity_get_options(&vptr->options, 0, pci->name); + velocity_get_options(&vptr->options, 0, pci->driver_name); /* * Mask out the options cannot be set to the chip |
