]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[fcoe] Add support for identifying the underlying hardware device
authorMichael Brown <mcb30@ipxe.org>
Tue, 21 Sep 2010 23:43:55 +0000 (00:43 +0100)
committerMichael Brown <mcb30@ipxe.org>
Wed, 22 Sep 2010 16:11:52 +0000 (17:11 +0100)
Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/net/fcoe.c

index 64dd26399a99287894918e206767617aa0168a8c..87726044ed4bc4ef45695689059c17a15ea8d062 100644 (file)
@@ -30,6 +30,7 @@ FILE_LICENCE ( GPL2_OR_LATER );
 #include <ipxe/netdevice.h>
 #include <ipxe/features.h>
 #include <ipxe/errortab.h>
+#include <ipxe/device.h>
 #include <ipxe/crc32.h>
 #include <ipxe/fc.h>
 #include <ipxe/fcoe.h>
@@ -268,12 +269,24 @@ static void fcoe_close ( struct fcoe_port *fcoe, int rc ) {
        ref_put ( &fcoe->refcnt );
 }
 
+/**
+ * Identify device underlying FCoE port
+ *
+ * @v fcoe             FCoE port
+ * @ret device         Underlying device
+ */
+static struct device * fcoe_identify_device ( struct fcoe_port *fcoe ) {
+       return fcoe->netdev->dev;
+}
+
 /** FCoE transport interface operations */
 static struct interface_operation fcoe_transport_op[] = {
        INTF_OP ( xfer_deliver, struct fcoe_port *, fcoe_deliver ),
        INTF_OP ( xfer_alloc_iob, struct fcoe_port *, fcoe_alloc_iob ),
        INTF_OP ( xfer_window, struct fcoe_port *, fcoe_window ),
        INTF_OP ( intf_close, struct fcoe_port *, fcoe_close ),
+       INTF_OP ( identify_device, struct fcoe_port *,
+                 fcoe_identify_device ),
 };
 
 /** FCoE transport interface descriptor */