david/ipxe
david
/
ipxe
Archived
1
0
Fork 0

[infiniband] Add support for identifying the underlying hardware device

Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown 2010-09-22 00:28:36 +01:00
parent d068049789
commit 9e036d32ba
2 changed files with 16 additions and 2 deletions

View File

@ -701,7 +701,8 @@ static struct interface_operation srpdev_socket_op[] = {
/** SRP device socket interface descriptor */
static struct interface_descriptor srpdev_socket_desc =
INTF_DESC ( struct srp_device, socket, srpdev_socket_op );
INTF_DESC_PASSTHRU ( struct srp_device, socket, srpdev_socket_op,
scsi );
/** SRP device SCSI interface operations */
static struct interface_operation srpdev_scsi_op[] = {
@ -713,7 +714,7 @@ static struct interface_operation srpdev_scsi_op[] = {
/** SRP device SCSI interface descriptor */
static struct interface_descriptor srpdev_scsi_desc =
INTF_DESC ( struct srp_device, scsi, srpdev_scsi_op );
INTF_DESC_PASSTHRU ( struct srp_device, scsi, srpdev_scsi_op, socket );
/**
* Open SRP device

View File

@ -334,6 +334,17 @@ static size_t ib_cmrc_xfer_window ( struct ib_cmrc_connection *cmrc ) {
return ( cmrc->connected ? IB_MAX_PAYLOAD_SIZE : 0 );
}
/**
* Identify device underlying CMRC connection
*
* @v cmrc CMRC connection
* @ret device Underlying device
*/
static struct device *
ib_cmrc_identify_device ( struct ib_cmrc_connection *cmrc ) {
return cmrc->ibdev->dev;
}
/** CMRC data transfer interface operations */
static struct interface_operation ib_cmrc_xfer_operations[] = {
INTF_OP ( xfer_deliver, struct ib_cmrc_connection *,
@ -341,6 +352,8 @@ static struct interface_operation ib_cmrc_xfer_operations[] = {
INTF_OP ( xfer_window, struct ib_cmrc_connection *,
ib_cmrc_xfer_window ),
INTF_OP ( intf_close, struct ib_cmrc_connection *, ib_cmrc_close ),
INTF_OP ( identify_device, struct ib_cmrc_connection *,
ib_cmrc_identify_device ),
};
/** CMRC data transfer interface descriptor */