summaryrefslogtreecommitdiffstats
path: root/src/net/aoe.c
diff options
context:
space:
mode:
authorMichael Brown2010-09-22 01:19:20 +0200
committerMichael Brown2010-09-22 18:10:56 +0200
commitd0680497896c2ccb7c63c6a625f89fa450519813 (patch)
treef533f7918dbedada3285acd6dd401c92624c374d /src/net/aoe.c
parent[int13] Add infrastructure to support EDD version 4.0 (diff)
downloadipxe-d0680497896c2ccb7c63c6a625f89fa450519813.tar.gz
ipxe-d0680497896c2ccb7c63c6a625f89fa450519813.tar.xz
ipxe-d0680497896c2ccb7c63c6a625f89fa450519813.zip
[aoe] Add support for identifying the underlying hardware device
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/net/aoe.c')
-rw-r--r--src/net/aoe.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/net/aoe.c b/src/net/aoe.c
index b959a00a..8ee1f8bd 100644
--- a/src/net/aoe.c
+++ b/src/net/aoe.c
@@ -36,6 +36,7 @@ FILE_LICENCE ( GPL2_OR_LATER );
#include <ipxe/uri.h>
#include <ipxe/open.h>
#include <ipxe/ata.h>
+#include <ipxe/device.h>
#include <ipxe/aoe.h>
/** @file
@@ -773,6 +774,16 @@ static void aoedev_config_done ( struct aoe_device *aoedev, int rc ) {
}
/**
+ * Identify device underlying AoE device
+ *
+ * @v aoedev AoE device
+ * @ret device Underlying device
+ */
+static struct device * aoedev_identify_device ( struct aoe_device *aoedev ) {
+ return aoedev->netdev->dev;
+}
+
+/**
* Describe AoE device in an ACPI table
*
* @v aoedev AoE device
@@ -807,6 +818,8 @@ static struct interface_operation aoedev_ata_op[] = {
INTF_OP ( xfer_window, struct aoe_device *, aoedev_window ),
INTF_OP ( intf_close, struct aoe_device *, aoedev_close ),
INTF_OP ( acpi_describe, struct aoe_device *, aoedev_describe ),
+ INTF_OP ( identify_device, struct aoe_device *,
+ aoedev_identify_device ),
};
/** AoE device ATA interface descriptor */