RDMA: Rename port_callback to init_port
Most provider routines are callback routines which ib core invokes. _callback suffix doesn't convey information about when such callback is invoked. Therefore, rename port_callback to init_port. Additionally, store the init_port function pointer in ib_device_ops, so that it can be accessed in subsequent patches when binding rdma device to net namespace. Signed-off-by: Parav Pandit <parav@mellanox.com> Signed-off-by: Leon Romanovsky <leonro@mellanox.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
This commit is contained in:
parent
081de9495c
commit
ea4baf7f11
|
@ -54,9 +54,7 @@ struct pkey_index_qp_list {
|
||||||
struct list_head qp_list;
|
struct list_head qp_list;
|
||||||
};
|
};
|
||||||
|
|
||||||
int ib_device_register_sysfs(struct ib_device *device,
|
int ib_device_register_sysfs(struct ib_device *device);
|
||||||
int (*port_callback)(struct ib_device *,
|
|
||||||
u8, struct kobject *));
|
|
||||||
void ib_device_unregister_sysfs(struct ib_device *device);
|
void ib_device_unregister_sysfs(struct ib_device *device);
|
||||||
int ib_device_rename(struct ib_device *ibdev, const char *name);
|
int ib_device_rename(struct ib_device *ibdev, const char *name);
|
||||||
|
|
||||||
|
|
|
@ -574,9 +574,7 @@ port_cleanup:
|
||||||
* callback for each device that is added. @device must be allocated
|
* callback for each device that is added. @device must be allocated
|
||||||
* with ib_alloc_device().
|
* with ib_alloc_device().
|
||||||
*/
|
*/
|
||||||
int ib_register_device(struct ib_device *device, const char *name,
|
int ib_register_device(struct ib_device *device, const char *name)
|
||||||
int (*port_callback)(struct ib_device *, u8,
|
|
||||||
struct kobject *))
|
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
struct ib_client *client;
|
struct ib_client *client;
|
||||||
|
@ -613,7 +611,7 @@ int ib_register_device(struct ib_device *device, const char *name,
|
||||||
goto dev_cleanup;
|
goto dev_cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = ib_device_register_sysfs(device, port_callback);
|
ret = ib_device_register_sysfs(device);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
dev_warn(&device->dev,
|
dev_warn(&device->dev,
|
||||||
"Couldn't register device with driver model\n");
|
"Couldn't register device with driver model\n");
|
||||||
|
@ -1283,6 +1281,7 @@ void ib_set_device_ops(struct ib_device *dev, const struct ib_device_ops *ops)
|
||||||
SET_DEVICE_OP(dev_ops, get_vector_affinity);
|
SET_DEVICE_OP(dev_ops, get_vector_affinity);
|
||||||
SET_DEVICE_OP(dev_ops, get_vf_config);
|
SET_DEVICE_OP(dev_ops, get_vf_config);
|
||||||
SET_DEVICE_OP(dev_ops, get_vf_stats);
|
SET_DEVICE_OP(dev_ops, get_vf_stats);
|
||||||
|
SET_DEVICE_OP(dev_ops, init_port);
|
||||||
SET_DEVICE_OP(dev_ops, map_mr_sg);
|
SET_DEVICE_OP(dev_ops, map_mr_sg);
|
||||||
SET_DEVICE_OP(dev_ops, map_phys_fmr);
|
SET_DEVICE_OP(dev_ops, map_phys_fmr);
|
||||||
SET_DEVICE_OP(dev_ops, mmap);
|
SET_DEVICE_OP(dev_ops, mmap);
|
||||||
|
|
|
@ -1015,9 +1015,7 @@ err_free_stats:
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int add_port(struct ib_device *device, int port_num,
|
static int add_port(struct ib_device *device, int port_num)
|
||||||
int (*port_callback)(struct ib_device *,
|
|
||||||
u8, struct kobject *))
|
|
||||||
{
|
{
|
||||||
struct ib_port *p;
|
struct ib_port *p;
|
||||||
struct ib_port_attr attr;
|
struct ib_port_attr attr;
|
||||||
|
@ -1113,8 +1111,8 @@ static int add_port(struct ib_device *device, int port_num,
|
||||||
if (ret)
|
if (ret)
|
||||||
goto err_free_pkey;
|
goto err_free_pkey;
|
||||||
|
|
||||||
if (port_callback) {
|
if (device->ops.init_port) {
|
||||||
ret = port_callback(device, port_num, &p->kobj);
|
ret = device->ops.init_port(device, port_num, &p->kobj);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto err_remove_pkey;
|
goto err_remove_pkey;
|
||||||
}
|
}
|
||||||
|
@ -1308,9 +1306,7 @@ static void free_port_list_attributes(struct ib_device *device)
|
||||||
kobject_put(device->ports_kobj);
|
kobject_put(device->ports_kobj);
|
||||||
}
|
}
|
||||||
|
|
||||||
int ib_device_register_sysfs(struct ib_device *device,
|
int ib_device_register_sysfs(struct ib_device *device)
|
||||||
int (*port_callback)(struct ib_device *,
|
|
||||||
u8, struct kobject *))
|
|
||||||
{
|
{
|
||||||
struct device *class_dev = &device->dev;
|
struct device *class_dev = &device->dev;
|
||||||
int ret;
|
int ret;
|
||||||
|
@ -1330,12 +1326,12 @@ int ib_device_register_sysfs(struct ib_device *device,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rdma_cap_ib_switch(device)) {
|
if (rdma_cap_ib_switch(device)) {
|
||||||
ret = add_port(device, 0, port_callback);
|
ret = add_port(device, 0);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto err_put;
|
goto err_put;
|
||||||
} else {
|
} else {
|
||||||
for (i = 1; i <= device->phys_port_cnt; ++i) {
|
for (i = 1; i <= device->phys_port_cnt; ++i) {
|
||||||
ret = add_port(device, i, port_callback);
|
ret = add_port(device, i);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto err_put;
|
goto err_put;
|
||||||
}
|
}
|
||||||
|
|
|
@ -662,7 +662,7 @@ static int bnxt_re_register_ib(struct bnxt_re_dev *rdev)
|
||||||
rdma_set_device_sysfs_group(ibdev, &bnxt_re_dev_attr_group);
|
rdma_set_device_sysfs_group(ibdev, &bnxt_re_dev_attr_group);
|
||||||
ibdev->driver_id = RDMA_DRIVER_BNXT_RE;
|
ibdev->driver_id = RDMA_DRIVER_BNXT_RE;
|
||||||
ib_set_device_ops(ibdev, &bnxt_re_dev_ops);
|
ib_set_device_ops(ibdev, &bnxt_re_dev_ops);
|
||||||
return ib_register_device(ibdev, "bnxt_re%d", NULL);
|
return ib_register_device(ibdev, "bnxt_re%d");
|
||||||
}
|
}
|
||||||
|
|
||||||
static void bnxt_re_dev_remove(struct bnxt_re_dev *rdev)
|
static void bnxt_re_dev_remove(struct bnxt_re_dev *rdev)
|
||||||
|
|
|
@ -1409,7 +1409,7 @@ int iwch_register_device(struct iwch_dev *dev)
|
||||||
dev->ibdev.driver_id = RDMA_DRIVER_CXGB3;
|
dev->ibdev.driver_id = RDMA_DRIVER_CXGB3;
|
||||||
rdma_set_device_sysfs_group(&dev->ibdev, &iwch_attr_group);
|
rdma_set_device_sysfs_group(&dev->ibdev, &iwch_attr_group);
|
||||||
ib_set_device_ops(&dev->ibdev, &iwch_dev_ops);
|
ib_set_device_ops(&dev->ibdev, &iwch_dev_ops);
|
||||||
ret = ib_register_device(&dev->ibdev, "cxgb3_%d", NULL);
|
ret = ib_register_device(&dev->ibdev, "cxgb3_%d");
|
||||||
if (ret)
|
if (ret)
|
||||||
kfree(dev->ibdev.iwcm);
|
kfree(dev->ibdev.iwcm);
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -634,7 +634,7 @@ void c4iw_register_device(struct work_struct *work)
|
||||||
rdma_set_device_sysfs_group(&dev->ibdev, &c4iw_attr_group);
|
rdma_set_device_sysfs_group(&dev->ibdev, &c4iw_attr_group);
|
||||||
dev->ibdev.driver_id = RDMA_DRIVER_CXGB4;
|
dev->ibdev.driver_id = RDMA_DRIVER_CXGB4;
|
||||||
ib_set_device_ops(&dev->ibdev, &c4iw_dev_ops);
|
ib_set_device_ops(&dev->ibdev, &c4iw_dev_ops);
|
||||||
ret = ib_register_device(&dev->ibdev, "cxgb4_%d", NULL);
|
ret = ib_register_device(&dev->ibdev, "cxgb4_%d");
|
||||||
if (ret)
|
if (ret)
|
||||||
goto err_kfree_iwcm;
|
goto err_kfree_iwcm;
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -1622,6 +1622,7 @@ static const struct ib_device_ops hfi1_dev_ops = {
|
||||||
.alloc_rdma_netdev = hfi1_vnic_alloc_rn,
|
.alloc_rdma_netdev = hfi1_vnic_alloc_rn,
|
||||||
.get_dev_fw_str = hfi1_get_dev_fw_str,
|
.get_dev_fw_str = hfi1_get_dev_fw_str,
|
||||||
.get_hw_stats = get_hw_stats,
|
.get_hw_stats = get_hw_stats,
|
||||||
|
.init_port = hfi1_create_port_files,
|
||||||
.modify_device = modify_device,
|
.modify_device = modify_device,
|
||||||
/* keep process mad in the driver */
|
/* keep process mad in the driver */
|
||||||
.process_mad = hfi1_process_mad,
|
.process_mad = hfi1_process_mad,
|
||||||
|
@ -1679,7 +1680,6 @@ int hfi1_register_ib_device(struct hfi1_devdata *dd)
|
||||||
/*
|
/*
|
||||||
* Fill in rvt info object.
|
* Fill in rvt info object.
|
||||||
*/
|
*/
|
||||||
dd->verbs_dev.rdi.driver_f.port_callback = hfi1_create_port_files;
|
|
||||||
dd->verbs_dev.rdi.driver_f.get_pci_dev = get_pci_dev;
|
dd->verbs_dev.rdi.driver_f.get_pci_dev = get_pci_dev;
|
||||||
dd->verbs_dev.rdi.driver_f.check_ah = hfi1_check_ah;
|
dd->verbs_dev.rdi.driver_f.check_ah = hfi1_check_ah;
|
||||||
dd->verbs_dev.rdi.driver_f.notify_new_ah = hfi1_notify_new_ah;
|
dd->verbs_dev.rdi.driver_f.notify_new_ah = hfi1_notify_new_ah;
|
||||||
|
|
|
@ -564,7 +564,7 @@ static int hns_roce_register_device(struct hns_roce_dev *hr_dev)
|
||||||
ib_dev->driver_id = RDMA_DRIVER_HNS;
|
ib_dev->driver_id = RDMA_DRIVER_HNS;
|
||||||
ib_set_device_ops(ib_dev, hr_dev->hw->hns_roce_dev_ops);
|
ib_set_device_ops(ib_dev, hr_dev->hw->hns_roce_dev_ops);
|
||||||
ib_set_device_ops(ib_dev, &hns_roce_dev_ops);
|
ib_set_device_ops(ib_dev, &hns_roce_dev_ops);
|
||||||
ret = ib_register_device(ib_dev, "hns_%d", NULL);
|
ret = ib_register_device(ib_dev, "hns_%d");
|
||||||
if (ret) {
|
if (ret) {
|
||||||
dev_err(dev, "ib_register_device failed!\n");
|
dev_err(dev, "ib_register_device failed!\n");
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -2868,7 +2868,7 @@ int i40iw_register_rdma_device(struct i40iw_device *iwdev)
|
||||||
iwibdev = iwdev->iwibdev;
|
iwibdev = iwdev->iwibdev;
|
||||||
rdma_set_device_sysfs_group(&iwibdev->ibdev, &i40iw_attr_group);
|
rdma_set_device_sysfs_group(&iwibdev->ibdev, &i40iw_attr_group);
|
||||||
iwibdev->ibdev.driver_id = RDMA_DRIVER_I40IW;
|
iwibdev->ibdev.driver_id = RDMA_DRIVER_I40IW;
|
||||||
ret = ib_register_device(&iwibdev->ibdev, "i40iw%d", NULL);
|
ret = ib_register_device(&iwibdev->ibdev, "i40iw%d");
|
||||||
if (ret)
|
if (ret)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
|
|
|
@ -2856,7 +2856,7 @@ static void *mlx4_ib_add(struct mlx4_dev *dev)
|
||||||
|
|
||||||
rdma_set_device_sysfs_group(&ibdev->ib_dev, &mlx4_attr_group);
|
rdma_set_device_sysfs_group(&ibdev->ib_dev, &mlx4_attr_group);
|
||||||
ibdev->ib_dev.driver_id = RDMA_DRIVER_MLX4;
|
ibdev->ib_dev.driver_id = RDMA_DRIVER_MLX4;
|
||||||
if (ib_register_device(&ibdev->ib_dev, "mlx4_%d", NULL))
|
if (ib_register_device(&ibdev->ib_dev, "mlx4_%d"))
|
||||||
goto err_diag_counters;
|
goto err_diag_counters;
|
||||||
|
|
||||||
if (mlx4_ib_mad_init(ibdev))
|
if (mlx4_ib_mad_init(ibdev))
|
||||||
|
|
|
@ -6233,7 +6233,7 @@ int mlx5_ib_stage_ib_reg_init(struct mlx5_ib_dev *dev)
|
||||||
name = "mlx5_%d";
|
name = "mlx5_%d";
|
||||||
else
|
else
|
||||||
name = "mlx5_bond_%d";
|
name = "mlx5_bond_%d";
|
||||||
return ib_register_device(&dev->ib_dev, name, NULL);
|
return ib_register_device(&dev->ib_dev, name);
|
||||||
}
|
}
|
||||||
|
|
||||||
void mlx5_ib_stage_pre_ib_reg_umr_cleanup(struct mlx5_ib_dev *dev)
|
void mlx5_ib_stage_pre_ib_reg_umr_cleanup(struct mlx5_ib_dev *dev)
|
||||||
|
|
|
@ -1338,7 +1338,7 @@ int mthca_register_device(struct mthca_dev *dev)
|
||||||
|
|
||||||
rdma_set_device_sysfs_group(&dev->ib_dev, &mthca_attr_group);
|
rdma_set_device_sysfs_group(&dev->ib_dev, &mthca_attr_group);
|
||||||
dev->ib_dev.driver_id = RDMA_DRIVER_MTHCA;
|
dev->ib_dev.driver_id = RDMA_DRIVER_MTHCA;
|
||||||
ret = ib_register_device(&dev->ib_dev, "mthca%d", NULL);
|
ret = ib_register_device(&dev->ib_dev, "mthca%d");
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
|
|
@ -3801,7 +3801,7 @@ int nes_register_ofa_device(struct nes_ib_device *nesibdev)
|
||||||
|
|
||||||
rdma_set_device_sysfs_group(&nesvnic->nesibdev->ibdev, &nes_attr_group);
|
rdma_set_device_sysfs_group(&nesvnic->nesibdev->ibdev, &nes_attr_group);
|
||||||
nesvnic->nesibdev->ibdev.driver_id = RDMA_DRIVER_NES;
|
nesvnic->nesibdev->ibdev.driver_id = RDMA_DRIVER_NES;
|
||||||
ret = ib_register_device(&nesvnic->nesibdev->ibdev, "nes%d", NULL);
|
ret = ib_register_device(&nesvnic->nesibdev->ibdev, "nes%d");
|
||||||
if (ret) {
|
if (ret) {
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
|
@ -243,7 +243,7 @@ static int ocrdma_register_device(struct ocrdma_dev *dev)
|
||||||
}
|
}
|
||||||
rdma_set_device_sysfs_group(&dev->ibdev, &ocrdma_attr_group);
|
rdma_set_device_sysfs_group(&dev->ibdev, &ocrdma_attr_group);
|
||||||
dev->ibdev.driver_id = RDMA_DRIVER_OCRDMA;
|
dev->ibdev.driver_id = RDMA_DRIVER_OCRDMA;
|
||||||
return ib_register_device(&dev->ibdev, "ocrdma%d", NULL);
|
return ib_register_device(&dev->ibdev, "ocrdma%d");
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ocrdma_alloc_resources(struct ocrdma_dev *dev)
|
static int ocrdma_alloc_resources(struct ocrdma_dev *dev)
|
||||||
|
|
|
@ -290,7 +290,7 @@ static int qedr_register_device(struct qedr_dev *dev)
|
||||||
ib_set_device_ops(&dev->ibdev, &qedr_dev_ops);
|
ib_set_device_ops(&dev->ibdev, &qedr_dev_ops);
|
||||||
|
|
||||||
dev->ibdev.driver_id = RDMA_DRIVER_QEDR;
|
dev->ibdev.driver_id = RDMA_DRIVER_QEDR;
|
||||||
return ib_register_device(&dev->ibdev, "qedr%d", NULL);
|
return ib_register_device(&dev->ibdev, "qedr%d");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* This function allocates fast-path status block memory */
|
/* This function allocates fast-path status block memory */
|
||||||
|
|
|
@ -1494,6 +1494,7 @@ static void qib_fill_device_attr(struct qib_devdata *dd)
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct ib_device_ops qib_dev_ops = {
|
static const struct ib_device_ops qib_dev_ops = {
|
||||||
|
.init_port = qib_create_port_files,
|
||||||
.modify_device = qib_modify_device,
|
.modify_device = qib_modify_device,
|
||||||
.process_mad = qib_process_mad,
|
.process_mad = qib_process_mad,
|
||||||
};
|
};
|
||||||
|
@ -1567,7 +1568,6 @@ int qib_register_ib_device(struct qib_devdata *dd)
|
||||||
/*
|
/*
|
||||||
* Fill in rvt info object.
|
* Fill in rvt info object.
|
||||||
*/
|
*/
|
||||||
dd->verbs_dev.rdi.driver_f.port_callback = qib_create_port_files;
|
|
||||||
dd->verbs_dev.rdi.driver_f.get_pci_dev = qib_get_pci_dev;
|
dd->verbs_dev.rdi.driver_f.get_pci_dev = qib_get_pci_dev;
|
||||||
dd->verbs_dev.rdi.driver_f.check_ah = qib_check_ah;
|
dd->verbs_dev.rdi.driver_f.check_ah = qib_check_ah;
|
||||||
dd->verbs_dev.rdi.driver_f.setup_wqe = qib_check_send_wqe;
|
dd->verbs_dev.rdi.driver_f.setup_wqe = qib_check_send_wqe;
|
||||||
|
|
|
@ -422,7 +422,7 @@ static void *usnic_ib_device_add(struct pci_dev *dev)
|
||||||
us_ibdev->ib_dev.driver_id = RDMA_DRIVER_USNIC;
|
us_ibdev->ib_dev.driver_id = RDMA_DRIVER_USNIC;
|
||||||
rdma_set_device_sysfs_group(&us_ibdev->ib_dev, &usnic_attr_group);
|
rdma_set_device_sysfs_group(&us_ibdev->ib_dev, &usnic_attr_group);
|
||||||
|
|
||||||
if (ib_register_device(&us_ibdev->ib_dev, "usnic_%d", NULL))
|
if (ib_register_device(&us_ibdev->ib_dev, "usnic_%d"))
|
||||||
goto err_fwd_dealloc;
|
goto err_fwd_dealloc;
|
||||||
|
|
||||||
usnic_fwd_set_mtu(us_ibdev->ufdev, us_ibdev->netdev->mtu);
|
usnic_fwd_set_mtu(us_ibdev->ufdev, us_ibdev->netdev->mtu);
|
||||||
|
|
|
@ -278,7 +278,7 @@ static int pvrdma_register_device(struct pvrdma_dev *dev)
|
||||||
spin_lock_init(&dev->srq_tbl_lock);
|
spin_lock_init(&dev->srq_tbl_lock);
|
||||||
rdma_set_device_sysfs_group(&dev->ib_dev, &pvrdma_attr_group);
|
rdma_set_device_sysfs_group(&dev->ib_dev, &pvrdma_attr_group);
|
||||||
|
|
||||||
ret = ib_register_device(&dev->ib_dev, "vmw_pvrdma%d", NULL);
|
ret = ib_register_device(&dev->ib_dev, "vmw_pvrdma%d");
|
||||||
if (ret)
|
if (ret)
|
||||||
goto err_srq_free;
|
goto err_srq_free;
|
||||||
|
|
||||||
|
|
|
@ -446,7 +446,7 @@ static noinline int check_support(struct rvt_dev_info *rdi, int verb)
|
||||||
* These functions are not part of verbs specifically but are
|
* These functions are not part of verbs specifically but are
|
||||||
* required for rdmavt to function.
|
* required for rdmavt to function.
|
||||||
*/
|
*/
|
||||||
if ((!rdi->driver_f.port_callback) ||
|
if ((!rdi->ibdev.ops.init_port) ||
|
||||||
(!rdi->driver_f.get_pci_dev))
|
(!rdi->driver_f.get_pci_dev))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
break;
|
break;
|
||||||
|
@ -644,8 +644,7 @@ int rvt_register_device(struct rvt_dev_info *rdi, u32 driver_id)
|
||||||
|
|
||||||
rdi->ibdev.driver_id = driver_id;
|
rdi->ibdev.driver_id = driver_id;
|
||||||
/* We are now good to announce we exist */
|
/* We are now good to announce we exist */
|
||||||
ret = ib_register_device(&rdi->ibdev, dev_name(&rdi->ibdev.dev),
|
ret = ib_register_device(&rdi->ibdev, dev_name(&rdi->ibdev.dev));
|
||||||
rdi->driver_f.port_callback);
|
|
||||||
if (ret) {
|
if (ret) {
|
||||||
rvt_pr_err(rdi, "Failed to register driver with ib core.\n");
|
rvt_pr_err(rdi, "Failed to register driver with ib core.\n");
|
||||||
goto bail_wss;
|
goto bail_wss;
|
||||||
|
|
|
@ -1258,7 +1258,7 @@ int rxe_register_device(struct rxe_dev *rxe)
|
||||||
|
|
||||||
rdma_set_device_sysfs_group(dev, &rxe_attr_group);
|
rdma_set_device_sysfs_group(dev, &rxe_attr_group);
|
||||||
dev->driver_id = RDMA_DRIVER_RXE;
|
dev->driver_id = RDMA_DRIVER_RXE;
|
||||||
err = ib_register_device(dev, "rxe%d", NULL);
|
err = ib_register_device(dev, "rxe%d");
|
||||||
if (err) {
|
if (err) {
|
||||||
pr_warn("%s failed with error %d\n", __func__, err);
|
pr_warn("%s failed with error %d\n", __func__, err);
|
||||||
goto err1;
|
goto err1;
|
||||||
|
|
|
@ -2504,6 +2504,12 @@ struct ib_device_ops {
|
||||||
*/
|
*/
|
||||||
int (*get_hw_stats)(struct ib_device *device,
|
int (*get_hw_stats)(struct ib_device *device,
|
||||||
struct rdma_hw_stats *stats, u8 port, int index);
|
struct rdma_hw_stats *stats, u8 port, int index);
|
||||||
|
/*
|
||||||
|
* This function is called once for each port when a ib device is
|
||||||
|
* registered.
|
||||||
|
*/
|
||||||
|
int (*init_port)(struct ib_device *device, u8 port_num,
|
||||||
|
struct kobject *port_sysfs);
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ib_device {
|
struct ib_device {
|
||||||
|
@ -2620,9 +2626,7 @@ void ib_dealloc_device(struct ib_device *device);
|
||||||
|
|
||||||
void ib_get_device_fw_str(struct ib_device *device, char *str);
|
void ib_get_device_fw_str(struct ib_device *device, char *str);
|
||||||
|
|
||||||
int ib_register_device(struct ib_device *device, const char *name,
|
int ib_register_device(struct ib_device *device, const char *name);
|
||||||
int (*port_callback)(struct ib_device *, u8,
|
|
||||||
struct kobject *));
|
|
||||||
void ib_unregister_device(struct ib_device *device);
|
void ib_unregister_device(struct ib_device *device);
|
||||||
|
|
||||||
int ib_register_client (struct ib_client *client);
|
int ib_register_client (struct ib_client *client);
|
||||||
|
|
|
@ -250,9 +250,6 @@ struct rvt_driver_provided {
|
||||||
*/
|
*/
|
||||||
void (*do_send)(struct rvt_qp *qp);
|
void (*do_send)(struct rvt_qp *qp);
|
||||||
|
|
||||||
/* Passed to ib core registration. Callback to create syfs files */
|
|
||||||
int (*port_callback)(struct ib_device *, u8, struct kobject *);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Returns a pointer to the undelying hardware's PCI device. This is
|
* Returns a pointer to the undelying hardware's PCI device. This is
|
||||||
* used to display information as to what hardware is being referenced
|
* used to display information as to what hardware is being referenced
|
||||||
|
|
Loading…
Reference in New Issue