Bluetooth: Move uuids debugfs entry creation into hci_core.c
authorMarcel Holtmann <marcel@holtmann.org>
Fri, 18 Oct 2013 00:24:15 +0000 (17:24 -0700)
committerJohan Hedberg <johan.hedberg@intel.com>
Fri, 18 Oct 2013 07:44:35 +0000 (10:44 +0300)
The uuids debugfs should only be created together with the other
entries after the setup procedure has been finished.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
net/bluetooth/hci_core.c
net/bluetooth/hci_sysfs.c

index de59bb17f8cdafa1d9a63138c12eccd841818811..0fb9f6d1f60fb8b97f670025a113afae13a186aa 100644 (file)
@@ -29,6 +29,7 @@
 #include <linux/idr.h>
 #include <linux/rfkill.h>
 #include <linux/debugfs.h>
+#include <asm/unaligned.h>
 
 #include <net/bluetooth/bluetooth.h>
 #include <net/bluetooth/hci_core.h>
@@ -82,6 +83,43 @@ static const struct file_operations blacklist_fops = {
        .release        = single_release,
 };
 
+static int uuids_show(struct seq_file *f, void *p)
+{
+       struct hci_dev *hdev = f->private;
+       struct bt_uuid *uuid;
+
+       hci_dev_lock(hdev);
+       list_for_each_entry(uuid, &hdev->uuids, list) {
+               u32 data0, data5;
+               u16 data1, data2, data3, data4;
+
+               data5 = get_unaligned_le32(uuid);
+               data4 = get_unaligned_le16(uuid + 4);
+               data3 = get_unaligned_le16(uuid + 6);
+               data2 = get_unaligned_le16(uuid + 8);
+               data1 = get_unaligned_le16(uuid + 10);
+               data0 = get_unaligned_le32(uuid + 12);
+
+               seq_printf(f, "%.8x-%.4x-%.4x-%.4x-%.4x%.8x\n",
+                          data0, data1, data2, data3, data4, data5);
+       }
+       hci_dev_unlock(hdev);
+
+       return 0;
+}
+
+static int uuids_open(struct inode *inode, struct file *file)
+{
+       return single_open(file, uuids_show, inode->i_private);
+}
+
+static const struct file_operations uuids_fops = {
+       .open           = uuids_open,
+       .read           = seq_read,
+       .llseek         = seq_lseek,
+       .release        = single_release,
+};
+
 static int inquiry_cache_show(struct seq_file *f, void *p)
 {
        struct hci_dev *hdev = f->private;
@@ -872,6 +910,8 @@ static int __hci_init(struct hci_dev *hdev)
        debugfs_create_file("blacklist", 0444, hdev->debugfs, hdev,
                            &blacklist_fops);
 
+       debugfs_create_file("uuids", 0444, hdev->debugfs, hdev, &uuids_fops);
+
        if (lmp_bredr_capable(hdev)) {
                debugfs_create_file("inquiry_cache", 0444, hdev->debugfs,
                                    hdev, &inquiry_cache_fops);
index 863e313d1fc9d62b81a42ef96e6ee7f8b792768a..077037e7f9121e9942f698b935f713f0c06fa3fe 100644 (file)
@@ -2,7 +2,6 @@
 
 #include <linux/debugfs.h>
 #include <linux/module.h>
-#include <asm/unaligned.h>
 
 #include <net/bluetooth/bluetooth.h>
 #include <net/bluetooth/hci_core.h>
@@ -396,49 +395,6 @@ static struct device_type bt_host = {
        .release = bt_host_release,
 };
 
-static void print_bt_uuid(struct seq_file *f, u8 *uuid)
-{
-       u32 data0, data5;
-       u16 data1, data2, data3, data4;
-
-       data5 = get_unaligned_le32(uuid);
-       data4 = get_unaligned_le16(uuid + 4);
-       data3 = get_unaligned_le16(uuid + 6);
-       data2 = get_unaligned_le16(uuid + 8);
-       data1 = get_unaligned_le16(uuid + 10);
-       data0 = get_unaligned_le32(uuid + 12);
-
-       seq_printf(f, "%.8x-%.4x-%.4x-%.4x-%.4x%.8x\n",
-                  data0, data1, data2, data3, data4, data5);
-}
-
-static int uuids_show(struct seq_file *f, void *p)
-{
-       struct hci_dev *hdev = f->private;
-       struct bt_uuid *uuid;
-
-       hci_dev_lock(hdev);
-
-       list_for_each_entry(uuid, &hdev->uuids, list)
-               print_bt_uuid(f, uuid->uuid);
-
-       hci_dev_unlock(hdev);
-
-       return 0;
-}
-
-static int uuids_open(struct inode *inode, struct file *file)
-{
-       return single_open(file, uuids_show, inode->i_private);
-}
-
-static const struct file_operations uuids_fops = {
-       .open           = uuids_open,
-       .read           = seq_read,
-       .llseek         = seq_lseek,
-       .release        = single_release,
-};
-
 void hci_init_sysfs(struct hci_dev *hdev)
 {
        struct device *dev = &hdev->dev;
@@ -470,8 +426,6 @@ int hci_add_sysfs(struct hci_dev *hdev)
        if (!hdev->debugfs)
                return 0;
 
-       debugfs_create_file("uuids", 0444, hdev->debugfs, hdev, &uuids_fops);
-
        return 0;
 }