|
@@ -157,7 +157,6 @@ struct ntb_transport {
|
|
|
bool transport_link;
|
|
|
struct delayed_work link_work;
|
|
|
struct work_struct link_cleanup;
|
|
|
- struct dentry *debugfs_dir;
|
|
|
};
|
|
|
|
|
|
enum {
|
|
@@ -824,12 +823,12 @@ static void ntb_transport_init_queue(struct ntb_transport *nt,
|
|
|
qp->tx_max_frame = min(transport_mtu, tx_size / 2);
|
|
|
qp->tx_max_entry = tx_size / qp->tx_max_frame;
|
|
|
|
|
|
- if (nt->debugfs_dir) {
|
|
|
+ if (ntb_query_debugfs(nt->ndev)) {
|
|
|
char debugfs_name[4];
|
|
|
|
|
|
snprintf(debugfs_name, 4, "qp%d", qp_num);
|
|
|
qp->debugfs_dir = debugfs_create_dir(debugfs_name,
|
|
|
- nt->debugfs_dir);
|
|
|
+ ntb_query_debugfs(nt->ndev));
|
|
|
|
|
|
qp->debugfs_stats = debugfs_create_file("stats", S_IRUSR,
|
|
|
qp->debugfs_dir, qp,
|
|
@@ -857,11 +856,6 @@ int ntb_transport_init(struct pci_dev *pdev)
|
|
|
if (!nt)
|
|
|
return -ENOMEM;
|
|
|
|
|
|
- if (debugfs_initialized())
|
|
|
- nt->debugfs_dir = debugfs_create_dir(KBUILD_MODNAME, NULL);
|
|
|
- else
|
|
|
- nt->debugfs_dir = NULL;
|
|
|
-
|
|
|
nt->ndev = ntb_register_transport(pdev, nt);
|
|
|
if (!nt->ndev) {
|
|
|
rc = -EIO;
|
|
@@ -907,7 +901,6 @@ err2:
|
|
|
err1:
|
|
|
ntb_unregister_transport(nt->ndev);
|
|
|
err:
|
|
|
- debugfs_remove_recursive(nt->debugfs_dir);
|
|
|
kfree(nt);
|
|
|
return rc;
|
|
|
}
|
|
@@ -921,16 +914,16 @@ void ntb_transport_free(void *transport)
|
|
|
nt->transport_link = NTB_LINK_DOWN;
|
|
|
|
|
|
/* verify that all the qp's are freed */
|
|
|
- for (i = 0; i < nt->max_qps; i++)
|
|
|
+ for (i = 0; i < nt->max_qps; i++) {
|
|
|
if (!test_bit(i, &nt->qp_bitmap))
|
|
|
ntb_transport_free_queue(&nt->qps[i]);
|
|
|
+ debugfs_remove_recursive(nt->qps[i].debugfs_dir);
|
|
|
+ }
|
|
|
|
|
|
ntb_bus_remove(nt);
|
|
|
|
|
|
cancel_delayed_work_sync(&nt->link_work);
|
|
|
|
|
|
- debugfs_remove_recursive(nt->debugfs_dir);
|
|
|
-
|
|
|
ntb_unregister_event_callback(nt->ndev);
|
|
|
|
|
|
pdev = ntb_query_pdev(nt->ndev);
|