summaryrefslogtreecommitdiffstats
path: root/src/drivers/bus
diff options
context:
space:
mode:
authorMichael Brown2007-07-02 18:43:32 +0200
committerMichael Brown2007-07-02 18:43:32 +0200
commit5f17089b148211dd8667af4efa9302a1f46dbc49 (patch)
tree0d131e90f9b7d2ebdc9422e3d5bd24ff31dd0d98 /src/drivers/bus
parentBuild bochs with ne2000 support, and add sample lines in bochsrc.txt (diff)
downloadipxe-5f17089b148211dd8667af4efa9302a1f46dbc49.tar.gz
ipxe-5f17089b148211dd8667af4efa9302a1f46dbc49.tar.xz
ipxe-5f17089b148211dd8667af4efa9302a1f46dbc49.zip
pxe_netdev now holds a reference to the network device.
Use generic fields in struct device_description rather than assuming that the struct device * is contained within a pci_device or isapnp_device; this assumption is broken when using the undionly driver. Add PXENV_UNDI_SET_STATION_ADDRESS.
Diffstat (limited to 'src/drivers/bus')
-rw-r--r--src/drivers/bus/isapnp.c2
-rw-r--r--src/drivers/bus/pci.c3
2 files changed, 5 insertions, 0 deletions
diff --git a/src/drivers/bus/isapnp.c b/src/drivers/bus/isapnp.c
index 96bc60ec..79268d44 100644
--- a/src/drivers/bus/isapnp.c
+++ b/src/drivers/bus/isapnp.c
@@ -705,6 +705,8 @@ static int isapnpbus_probe ( struct root_device *rootdev ) {
isapnp->dev.desc.bus_type = BUS_TYPE_ISAPNP;
isapnp->dev.desc.vendor = isapnp->vendor_id;
isapnp->dev.desc.device = isapnp->prod_id;
+ isapnp->dev.desc.ioaddr = isapnp->ioaddr;
+ isapnp->dev.desc.irq = isapnp->irqno;
isapnp->dev.parent = &rootdev->dev;
list_add ( &isapnp->dev.siblings,
&rootdev->dev.children );
diff --git a/src/drivers/bus/pci.c b/src/drivers/bus/pci.c
index 577691f5..967441ac 100644
--- a/src/drivers/bus/pci.c
+++ b/src/drivers/bus/pci.c
@@ -286,6 +286,9 @@ static int pcibus_probe ( struct root_device *rootdev ) {
pci->dev.desc.location = PCI_BUSDEVFN (bus, devfn);
pci->dev.desc.vendor = pci->vendor;
pci->dev.desc.device = pci->device;
+ pci->dev.desc.class = pci->class;
+ pci->dev.desc.ioaddr = pci->ioaddr;
+ pci->dev.desc.irq = pci->irq;
pci->dev.parent = &rootdev->dev;
list_add ( &pci->dev.siblings, &rootdev->dev.children);
INIT_LIST_HEAD ( &pci->dev.children );