Bluetooth: Rename driver .prevent_wake to .wakeup
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Fri, 1 Oct 2021 20:22:31 +0000 (13:22 -0700)
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Fri, 1 Oct 2021 22:46:15 +0000 (15:46 -0700)
prevent_wake logic is backward since what it is really checking is
if the device may wakeup the system or not, not that it will prevent
the to be awaken.

Also looking on how other subsystems have the entry as power/wakeup
this also renames the force_prevent_wake to force_wakeup in vhci driver.

Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
drivers/bluetooth/btmrvl_main.c
drivers/bluetooth/btusb.c
drivers/bluetooth/hci_qca.c
drivers/bluetooth/hci_vhci.c
include/net/bluetooth/hci_core.h
net/bluetooth/hci_core.c

index 8b9d78ce6bb29e146e3a69e5f29a82b97e615736..5ccbe4d459d0dd75f3476424fbdd3c1570bec0de 100644 (file)
@@ -587,12 +587,12 @@ static int btmrvl_set_bdaddr(struct hci_dev *hdev, const bdaddr_t *bdaddr)
        return 0;
 }
 
-static bool btmrvl_prevent_wake(struct hci_dev *hdev)
+static bool btmrvl_wakeup(struct hci_dev *hdev)
 {
        struct btmrvl_private *priv = hci_get_drvdata(hdev);
        struct btmrvl_sdio_card *card = priv->btmrvl_dev.card;
 
-       return !device_may_wakeup(&card->func->dev);
+       return device_may_wakeup(&card->func->dev);
 }
 
 /*
@@ -696,7 +696,7 @@ int btmrvl_register_hdev(struct btmrvl_private *priv)
        hdev->send  = btmrvl_send_frame;
        hdev->setup = btmrvl_setup;
        hdev->set_bdaddr = btmrvl_set_bdaddr;
-       hdev->prevent_wake = btmrvl_prevent_wake;
+       hdev->wakeup = btmrvl_wakeup;
        SET_HCIDEV_DEV(hdev, &card->func->dev);
 
        hdev->dev_type = priv->btmrvl_dev.dev_type;
index a215a1c3757168c1e78e116f60938fb330b3cbfb..75c83768c257341ae27e8023e71abe87491690f3 100644 (file)
@@ -3640,11 +3640,11 @@ static void btusb_check_needs_reset_resume(struct usb_interface *intf)
                interface_to_usbdev(intf)->quirks |= USB_QUIRK_RESET_RESUME;
 }
 
-static bool btusb_prevent_wake(struct hci_dev *hdev)
+static bool btusb_wakeup(struct hci_dev *hdev)
 {
        struct btusb_data *data = hci_get_drvdata(hdev);
 
-       return !device_may_wakeup(&data->udev->dev);
+       return device_may_wakeup(&data->udev->dev);
 }
 
 static int btusb_shutdown_qca(struct hci_dev *hdev)
@@ -3801,7 +3801,7 @@ static int btusb_probe(struct usb_interface *intf,
        hdev->flush  = btusb_flush;
        hdev->send   = btusb_send_frame;
        hdev->notify = btusb_notify;
-       hdev->prevent_wake = btusb_prevent_wake;
+       hdev->wakeup = btusb_wakeup;
 
 #ifdef CONFIG_PM
        err = btusb_config_oob_wake(hdev);
index e2566d606c93f2786df63cafef5e2c5fd4e51f96..dd768a8ed7cbb044af5e76af87757a291ea1ff07 100644 (file)
@@ -1577,7 +1577,7 @@ static void qca_cmd_timeout(struct hci_dev *hdev)
        mutex_unlock(&qca->hci_memdump_lock);
 }
 
-static bool qca_prevent_wake(struct hci_dev *hdev)
+static bool qca_wakeup(struct hci_dev *hdev)
 {
        struct hci_uart *hu = hci_get_drvdata(hdev);
        bool wakeup;
@@ -1765,7 +1765,7 @@ retry:
                qca_debugfs_init(hdev);
                hu->hdev->hw_error = qca_hw_error;
                hu->hdev->cmd_timeout = qca_cmd_timeout;
-               hu->hdev->prevent_wake = qca_prevent_wake;
+               hu->hdev->wakeup = qca_wakeup;
        } else if (ret == -ENOENT) {
                /* No patch/nvm-config found, run with original fw/config */
                set_bit(QCA_ROM_FW, &qca->flags);
index acf2544dbb0547f6699c17230b30bddd8e436072..b45db0db347c679f369c185863addc5c24c361c7 100644 (file)
@@ -40,7 +40,7 @@ struct vhci_data {
        struct delayed_work open_timeout;
 
        bool suspended;
-       bool prevent_wake;
+       bool wakeup;
 };
 
 static int vhci_open_dev(struct hci_dev *hdev)
@@ -95,11 +95,11 @@ static int vhci_get_codec_config_data(struct hci_dev *hdev, __u8 type,
        return 0;
 }
 
-static bool vhci_prevent_wake(struct hci_dev *hdev)
+static bool vhci_wakeup(struct hci_dev *hdev)
 {
        struct vhci_data *data = hci_get_drvdata(hdev);
 
-       return data->prevent_wake;
+       return data->wakeup;
 }
 
 static ssize_t force_suspend_read(struct file *file, char __user *user_buf,
@@ -149,21 +149,21 @@ static const struct file_operations force_suspend_fops = {
        .llseek         = default_llseek,
 };
 
-static ssize_t force_prevent_wake_read(struct file *file, char __user *user_buf,
-                                      size_t count, loff_t *ppos)
+static ssize_t force_wakeup_read(struct file *file, char __user *user_buf,
+                                size_t count, loff_t *ppos)
 {
        struct vhci_data *data = file->private_data;
        char buf[3];
 
-       buf[0] = data->prevent_wake ? 'Y' : 'N';
+       buf[0] = data->wakeup ? 'Y' : 'N';
        buf[1] = '\n';
        buf[2] = '\0';
        return simple_read_from_buffer(user_buf, count, ppos, buf, 2);
 }
 
-static ssize_t force_prevent_wake_write(struct file *file,
-                                       const char __user *user_buf,
-                                       size_t count, loff_t *ppos)
+static ssize_t force_wakeup_write(struct file *file,
+                                 const char __user *user_buf, size_t count,
+                                 loff_t *ppos)
 {
        struct vhci_data *data = file->private_data;
        bool enable;
@@ -173,16 +173,16 @@ static ssize_t force_prevent_wake_write(struct file *file,
        if (err)
                return err;
 
-       if (data->prevent_wake == enable)
+       if (data->wakeup == enable)
                return -EALREADY;
 
        return count;
 }
 
-static const struct file_operations force_prevent_wake_fops = {
+static const struct file_operations force_wakeup_fops = {
        .open           = simple_open,
-       .read           = force_prevent_wake_read,
-       .write          = force_prevent_wake_write,
+       .read           = force_wakeup_read,
+       .write          = force_wakeup_write,
        .llseek         = default_llseek,
 };
 
@@ -227,7 +227,7 @@ static int __vhci_create_device(struct vhci_data *data, __u8 opcode)
        hdev->send  = vhci_send_frame;
        hdev->get_data_path_id = vhci_get_data_path_id;
        hdev->get_codec_config_data = vhci_get_codec_config_data;
-       hdev->prevent_wake = vhci_prevent_wake;
+       hdev->wakeup = vhci_wakeup;
 
        /* bit 6 is for external configuration */
        if (opcode & 0x40)
@@ -248,8 +248,8 @@ static int __vhci_create_device(struct vhci_data *data, __u8 opcode)
        debugfs_create_file("force_suspend", 0644, hdev->debugfs, data,
                            &force_suspend_fops);
 
-       debugfs_create_file("force_prevent_wake", 0644, hdev->debugfs, data,
-                           &force_prevent_wake_fops);
+       debugfs_create_file("force_wakeup", 0644, hdev->debugfs, data,
+                           &force_wakeup_fops);
 
        hci_skb_pkt_type(skb) = HCI_VENDOR_PKT;
 
index 3b06990fcf16169e2a6de2b20bd5b70e02e5cf52..dd8840e70e250e974e70df240294540269526d98 100644 (file)
@@ -617,7 +617,7 @@ struct hci_dev {
        int (*set_diag)(struct hci_dev *hdev, bool enable);
        int (*set_bdaddr)(struct hci_dev *hdev, const bdaddr_t *bdaddr);
        void (*cmd_timeout)(struct hci_dev *hdev);
-       bool (*prevent_wake)(struct hci_dev *hdev);
+       bool (*wakeup)(struct hci_dev *hdev);
        int (*set_quality_report)(struct hci_dev *hdev, bool enable);
        int (*get_data_path_id)(struct hci_dev *hdev, __u8 *data_path);
        int (*get_codec_config_data)(struct hci_dev *hdev, __u8 type,
index ea063ce4d7af7d0ad8a9e2d198ced092816120f1..8d33aa64846b1c3d912ca014bb49578f29cc27ca 100644 (file)
@@ -3998,18 +3998,19 @@ int hci_suspend_dev(struct hci_dev *hdev)
         *  - Second, program event filter/accept list and enable scan
         */
        ret = hci_change_suspend_state(hdev, BT_SUSPEND_DISCONNECT);
-       if (!ret)
-               state = BT_SUSPEND_DISCONNECT;
+       if (ret)
+               goto clear;
 
-       /* Only configure accept list if disconnect succeeded and wake
-        * isn't being prevented.
-        */
-       if (!ret && !(hdev->prevent_wake && hdev->prevent_wake(hdev))) {
+       state = BT_SUSPEND_DISCONNECT;
+
+       /* Only configure accept list if device may wakeup. */
+       if (hdev->wakeup && hdev->wakeup(hdev)) {
                ret = hci_change_suspend_state(hdev, BT_SUSPEND_CONFIGURE_WAKE);
                if (!ret)
                        state = BT_SUSPEND_CONFIGURE_WAKE;
        }
 
+clear:
        hci_clear_wake_reason(hdev);
        mgmt_suspending(hdev, state);