|
@@ -305,7 +305,7 @@ int hci_register_sysfs(struct hci_dev *hdev)
|
|
|
|
|
|
BT_DBG("%p name %s type %d", hdev, hdev->name, hdev->type);
|
|
|
|
|
|
- dev->class = bt_class;
|
|
|
+ dev->bus = &bt_bus;
|
|
|
dev->parent = hdev->parent;
|
|
|
|
|
|
strlcpy(dev->bus_id, hdev->name, BUS_ID_SIZE);
|
|
@@ -322,6 +322,10 @@ int hci_register_sysfs(struct hci_dev *hdev)
|
|
|
if (device_create_file(dev, bt_attrs[i]) < 0)
|
|
|
BT_ERR("Failed to create device attribute");
|
|
|
|
|
|
+ if (sysfs_create_link(&bt_class->subsys.kset.kobj,
|
|
|
+ &dev->kobj, kobject_name(&dev->kobj)) < 0)
|
|
|
+ BT_ERR("Failed to create class symlink");
|
|
|
+
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
@@ -329,6 +333,9 @@ void hci_unregister_sysfs(struct hci_dev *hdev)
|
|
|
{
|
|
|
BT_DBG("%p name %s type %d", hdev, hdev->name, hdev->type);
|
|
|
|
|
|
+ sysfs_remove_link(&bt_class->subsys.kset.kobj,
|
|
|
+ kobject_name(&hdev->dev.kobj));
|
|
|
+
|
|
|
device_del(&hdev->dev);
|
|
|
}
|
|
|
|