diff options
author | Michael Brown | 2007-01-10 17:16:05 +0100 |
---|---|---|
committer | Michael Brown | 2007-01-10 17:16:05 +0100 |
commit | 1fa5cd0e2b3bd6c85ff4c58594e609ed11bc407d (patch) | |
tree | 1cf2bbc1fc418b1fdd0f49715f1b0ad00a41ee6d /src/net/netdevice.c | |
parent | Add device description fields to struct device. (diff) | |
download | ipxe-1fa5cd0e2b3bd6c85ff4c58594e609ed11bc407d.tar.gz ipxe-1fa5cd0e2b3bd6c85ff4c58594e609ed11bc407d.tar.xz ipxe-1fa5cd0e2b3bd6c85ff4c58594e609ed11bc407d.zip |
Add find_pci_netdev()
Diffstat (limited to 'src/net/netdevice.c')
-rw-r--r-- | src/net/netdevice.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/net/netdevice.c b/src/net/netdevice.c index d8de81be..be3d1ffe 100644 --- a/src/net/netdevice.c +++ b/src/net/netdevice.c @@ -314,6 +314,24 @@ struct net_device * find_netdev ( const char *name ) { } /** + * Get network device by PCI bus:dev.fn address + * + * @v busdevfn PCI bus:dev.fn address + * @ret netdev Network device, or NULL + */ +struct net_device * find_pci_netdev ( unsigned int busdevfn ) { + struct net_device *netdev; + + list_for_each_entry ( netdev, &net_devices, list ) { + if ( ( netdev->dev->desc.bus_type == BUS_TYPE_PCI ) && + ( netdev->dev->desc.pci.busdevfn == busdevfn ) ) + return netdev; + } + + return NULL; +} + +/** * Transmit network-layer packet * * @v pkb Packet buffer |