Skip to content

Commit

Permalink
[Bluetooth] Attach host adapters to the Bluetooth bus
Browse files Browse the repository at this point in the history
The Bluetooth host adapters are attached to the Bluetooth class and the
low-level connections are children of these class devices. Having class
devices as parent of bus devices breaks a lot of reasonable assumptions
about sysfs. The host adapters should be attached to the Bluetooth bus
to simplify the dependency resolving. For compatibility an additional
symlink from the Bluetooth class will be used.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
  • Loading branch information
Marcel Holtmann committed May 4, 2007
1 parent 0878b66 commit 53c1d4b
Showing 1 changed file with 8 additions and 1 deletion.
9 changes: 8 additions & 1 deletion net/bluetooth/hci_sysfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -322,13 +322,20 @@ 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;
}

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);
}

Expand Down

0 comments on commit 53c1d4b

Please sign in to comment.