]> git.openfabrics.org - ~emulex/infiniband.git/commitdiff
Bluetooth: Use separate dbg_flags to special debugfs options
authorMarcel Holtmann <marcel@holtmann.org>
Sat, 21 Jun 2014 02:53:17 +0000 (04:53 +0200)
committerMarcel Holtmann <marcel@holtmann.org>
Thu, 3 Jul 2014 15:42:43 +0000 (17:42 +0200)
All the special settings configured via debugfs are either developer
only options or temporary solutions. To not clutter the standard flags,
move them to their own dbg_flags entry.

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

index fe584d78008d094db73b470eac998c1e1a4bcaaa..3e12e27afca1acb5f39cb103779d2f5bb5d0582a 100644 (file)
@@ -104,6 +104,15 @@ enum {
        HCI_RESET,
 };
 
+/* BR/EDR and/or LE controller flags: the flags defined here should represent
+ * states configured via debugfs for debugging and testing purposes only.
+ */
+enum {
+       HCI_DUT_MODE,
+       HCI_FORCE_SC,
+       HCI_FORCE_STATIC_ADDR,
+};
+
 /*
  * BR/EDR and/or LE controller flags: the flags defined here should represent
  * states from the controller.
@@ -116,9 +125,6 @@ enum {
        HCI_PAIRABLE,
        HCI_SERVICE_CACHE,
        HCI_DEBUG_KEYS,
-       HCI_DUT_MODE,
-       HCI_FORCE_SC,
-       HCI_FORCE_STATIC_ADDR,
        HCI_UNREGISTER,
        HCI_USER_CHANNEL,
 
index de3bb22e83f92aba2174c0dbaebdbdc4b58d9be8..bf41e992a618cf04bc66f3d77c2278bd3d38161c 100644 (file)
@@ -318,6 +318,7 @@ struct hci_dev {
 
        struct rfkill           *rfkill;
 
+       unsigned long           dbg_flags;
        unsigned long           dev_flags;
 
        struct delayed_work     le_scan_disable;
index c3d184fd24de4231465894cdc596da44fb1d3f76..ddbb084250bedfc1c623fb9092f2e3dfd898df41 100644 (file)
@@ -68,7 +68,7 @@ static ssize_t dut_mode_read(struct file *file, char __user *user_buf,
        struct hci_dev *hdev = file->private_data;
        char buf[3];
 
-       buf[0] = test_bit(HCI_DUT_MODE, &hdev->dev_flags) ? 'Y': 'N';
+       buf[0] = test_bit(HCI_DUT_MODE, &hdev->dbg_flags) ? 'Y': 'N';
        buf[1] = '\n';
        buf[2] = '\0';
        return simple_read_from_buffer(user_buf, count, ppos, buf, 2);
@@ -94,7 +94,7 @@ static ssize_t dut_mode_write(struct file *file, const char __user *user_buf,
        if (strtobool(buf, &enable))
                return -EINVAL;
 
-       if (enable == test_bit(HCI_DUT_MODE, &hdev->dev_flags))
+       if (enable == test_bit(HCI_DUT_MODE, &hdev->dbg_flags))
                return -EALREADY;
 
        hci_req_lock(hdev);
@@ -115,7 +115,7 @@ static ssize_t dut_mode_write(struct file *file, const char __user *user_buf,
        if (err < 0)
                return err;
 
-       change_bit(HCI_DUT_MODE, &hdev->dev_flags);
+       change_bit(HCI_DUT_MODE, &hdev->dbg_flags);
 
        return count;
 }
@@ -407,7 +407,7 @@ static ssize_t force_sc_support_read(struct file *file, char __user *user_buf,
        struct hci_dev *hdev = file->private_data;
        char buf[3];
 
-       buf[0] = test_bit(HCI_FORCE_SC, &hdev->dev_flags) ? 'Y': 'N';
+       buf[0] = test_bit(HCI_FORCE_SC, &hdev->dbg_flags) ? 'Y': 'N';
        buf[1] = '\n';
        buf[2] = '\0';
        return simple_read_from_buffer(user_buf, count, ppos, buf, 2);
@@ -432,10 +432,10 @@ static ssize_t force_sc_support_write(struct file *file,
        if (strtobool(buf, &enable))
                return -EINVAL;
 
-       if (enable == test_bit(HCI_FORCE_SC, &hdev->dev_flags))
+       if (enable == test_bit(HCI_FORCE_SC, &hdev->dbg_flags))
                return -EALREADY;
 
-       change_bit(HCI_FORCE_SC, &hdev->dev_flags);
+       change_bit(HCI_FORCE_SC, &hdev->dbg_flags);
 
        return count;
 }
@@ -719,7 +719,7 @@ static ssize_t force_static_address_read(struct file *file,
        struct hci_dev *hdev = file->private_data;
        char buf[3];
 
-       buf[0] = test_bit(HCI_FORCE_STATIC_ADDR, &hdev->dev_flags) ? 'Y': 'N';
+       buf[0] = test_bit(HCI_FORCE_STATIC_ADDR, &hdev->dbg_flags) ? 'Y': 'N';
        buf[1] = '\n';
        buf[2] = '\0';
        return simple_read_from_buffer(user_buf, count, ppos, buf, 2);
@@ -744,10 +744,10 @@ static ssize_t force_static_address_write(struct file *file,
        if (strtobool(buf, &enable))
                return -EINVAL;
 
-       if (enable == test_bit(HCI_FORCE_STATIC_ADDR, &hdev->dev_flags))
+       if (enable == test_bit(HCI_FORCE_STATIC_ADDR, &hdev->dbg_flags))
                return -EALREADY;
 
-       change_bit(HCI_FORCE_STATIC_ADDR, &hdev->dev_flags);
+       change_bit(HCI_FORCE_STATIC_ADDR, &hdev->dbg_flags);
 
        return count;
 }
@@ -1752,7 +1752,7 @@ static void hci_init4_req(struct hci_request *req, unsigned long opt)
 
        /* Enable Secure Connections if supported and configured */
        if ((lmp_sc_capable(hdev) ||
-            test_bit(HCI_FORCE_SC, &hdev->dev_flags)) &&
+            test_bit(HCI_FORCE_SC, &hdev->dbg_flags)) &&
            test_bit(HCI_SC_ENABLED, &hdev->dev_flags)) {
                u8 support = 0x01;
                hci_req_add(req, HCI_OP_WRITE_SC_SUPPORT,
@@ -3782,7 +3782,7 @@ int hci_update_random_address(struct hci_request *req, bool require_privacy,
         * the HCI command if the current random address is already the
         * static one.
         */
-       if (test_bit(HCI_FORCE_STATIC_ADDR, &hdev->dev_flags) ||
+       if (test_bit(HCI_FORCE_STATIC_ADDR, &hdev->dbg_flags) ||
            !bacmp(&hdev->bdaddr, BDADDR_ANY)) {
                *own_addr_type = ADDR_LE_DEV_RANDOM;
                if (bacmp(&hdev->static_addr, &hdev->random_addr))
@@ -3811,7 +3811,7 @@ int hci_update_random_address(struct hci_request *req, bool require_privacy,
 void hci_copy_identity_address(struct hci_dev *hdev, bdaddr_t *bdaddr,
                               u8 *bdaddr_type)
 {
-       if (test_bit(HCI_FORCE_STATIC_ADDR, &hdev->dev_flags) ||
+       if (test_bit(HCI_FORCE_STATIC_ADDR, &hdev->dbg_flags) ||
            !bacmp(&hdev->bdaddr, BDADDR_ANY)) {
                bacpy(bdaddr, &hdev->static_addr);
                *bdaddr_type = ADDR_LE_DEV_RANDOM;
index 5bf032d9bce15e8fc0814c88d9e935f9b94b7ad4..e1651c3fc676c8e5d39cec81800a1d14c5b04811 100644 (file)
@@ -387,7 +387,7 @@ static u32 get_supported_settings(struct hci_dev *hdev)
                }
 
                if (lmp_sc_capable(hdev) ||
-                   test_bit(HCI_FORCE_SC, &hdev->dev_flags))
+                   test_bit(HCI_FORCE_SC, &hdev->dbg_flags))
                        settings |= MGMT_SETTING_SECURE_CONN;
        }
 
@@ -4261,7 +4261,7 @@ static int set_secure_conn(struct sock *sk, struct hci_dev *hdev,
                                  status);
 
        if (!lmp_sc_capable(hdev) &&
-           !test_bit(HCI_FORCE_SC, &hdev->dev_flags))
+           !test_bit(HCI_FORCE_SC, &hdev->dbg_flags))
                return cmd_status(sk, hdev->id, MGMT_OP_SET_SECURE_CONN,
                                  MGMT_STATUS_NOT_SUPPORTED);