Commit 0153e2ec authored by Marcel Holtmann's avatar Marcel Holtmann Committed by Johan Hedberg

Bluetooth: Create HCI device debugfs directory in hci_register_dev

Create the debugfs directory for each HCI device directly in
hci_register_dev function and remove it during hci_unregister_dev.
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
Signed-off-by: default avatarJohan Hedberg <johan.hedberg@intel.com>
parent 1120e4bf
...@@ -2479,6 +2479,9 @@ int hci_register_dev(struct hci_dev *hdev) ...@@ -2479,6 +2479,9 @@ int hci_register_dev(struct hci_dev *hdev)
goto err; goto err;
} }
if (!IS_ERR_OR_NULL(bt_debugfs))
hdev->debugfs = debugfs_create_dir(hdev->name, bt_debugfs);
error = hci_add_sysfs(hdev); error = hci_add_sysfs(hdev);
if (error < 0) if (error < 0)
goto err_wqueue; goto err_wqueue;
...@@ -2569,6 +2572,8 @@ void hci_unregister_dev(struct hci_dev *hdev) ...@@ -2569,6 +2572,8 @@ void hci_unregister_dev(struct hci_dev *hdev)
hci_del_sysfs(hdev); hci_del_sysfs(hdev);
debugfs_remove_recursive(hdev->debugfs);
destroy_workqueue(hdev->workqueue); destroy_workqueue(hdev->workqueue);
destroy_workqueue(hdev->req_workqueue); destroy_workqueue(hdev->req_workqueue);
......
...@@ -409,32 +409,18 @@ void hci_init_sysfs(struct hci_dev *hdev) ...@@ -409,32 +409,18 @@ void hci_init_sysfs(struct hci_dev *hdev)
int hci_add_sysfs(struct hci_dev *hdev) int hci_add_sysfs(struct hci_dev *hdev)
{ {
struct device *dev = &hdev->dev; struct device *dev = &hdev->dev;
int err;
BT_DBG("%p name %s bus %d", hdev, hdev->name, hdev->bus); BT_DBG("%p name %s bus %d", hdev, hdev->name, hdev->bus);
dev_set_name(dev, "%s", hdev->name); dev_set_name(dev, "%s", hdev->name);
err = device_add(dev); return device_add(dev);
if (err < 0)
return err;
if (!bt_debugfs)
return 0;
hdev->debugfs = debugfs_create_dir(hdev->name, bt_debugfs);
if (!hdev->debugfs)
return 0;
return 0;
} }
void hci_del_sysfs(struct hci_dev *hdev) void hci_del_sysfs(struct hci_dev *hdev)
{ {
BT_DBG("%p name %s bus %d", hdev, hdev->name, hdev->bus); BT_DBG("%p name %s bus %d", hdev, hdev->name, hdev->bus);
debugfs_remove_recursive(hdev->debugfs);
device_del(&hdev->dev); device_del(&hdev->dev);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment