Message ID | 20211001004716.3447880-1-luiz.dentz@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [RFC] Bluetooth: Rename driver .prevent_wake to .wakeup | expand |
Context | Check | Description |
---|---|---|
tedd_an/checkpatch | success | Checkpatch PASS |
tedd_an/gitlint | success | Gitlint PASS |
tedd_an/buildkernel | fail | Build Kernel make FAIL: drivers/bluetooth/hci_qca.c: In function ‘qca_setup’: drivers/bluetooth/hci_qca.c:1768:11: error: ‘struct hci_dev’ has no member named ‘prevent_wake’ 1768 | hu->hdev->prevent_wake = qca_prevent_wake; | ^~ make[2]: *** [scripts/Makefile.build:271: drivers/bluetooth/hci_qca.o] Error 1 make[1]: *** [scripts/Makefile.build:514: drivers/bluetooth] Error 2 make: *** [Makefile:1851: drivers] Error 2 |
tedd_an/testrunnersetup | fail | Test Runner Setup BlueZ FAIL |
Hi Luiz, > prevent_wake logic is backward since what it is really checking is > if the device may wakeup the system or not, not that it can prevent > the system to be awaken. > > Also looking on how other subsystems have the entry as power/wakeup > this also renames the force_prevent_wake to just wakeup in vhci driver. > > Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> > --- > drivers/bluetooth/btusb.c | 4 ++-- > drivers/bluetooth/hci_vhci.c | 25 ++++++++++++------------- > include/net/bluetooth/hci_core.h | 2 +- > net/bluetooth/hci_core.c | 13 +++++++------ > 4 files changed, 22 insertions(+), 22 deletions(-) > > diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c > index 34363d3c85e5..bd09b91bb1ea 100644 > --- a/drivers/bluetooth/btusb.c > +++ b/drivers/bluetooth/btusb.c > @@ -3636,7 +3636,7 @@ 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); > > @@ -3797,7 +3797,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); > diff --git a/drivers/bluetooth/hci_vhci.c b/drivers/bluetooth/hci_vhci.c > index acf2544dbb05..5c27c27e54a0 100644 > --- a/drivers/bluetooth/hci_vhci.c > +++ b/drivers/bluetooth/hci_vhci.c > @@ -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,19 +149,19 @@ 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, > +static ssize_t 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, > +static ssize_t wakeup_write(struct file *file, > const char __user *user_buf, > size_t count, loff_t *ppos) > { > @@ -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 wakeup_fops = { > .open = simple_open, > - .read = force_prevent_wake_read, > - .write = force_prevent_wake_write, > + .read = wakeup_read, > + .write = 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,7 @@ 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("wakeup", 0644, hdev->debugfs, data, &wakeup_fops); > don’t we better name this force_wakeup? Regards Marcel
diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c index 34363d3c85e5..bd09b91bb1ea 100644 --- a/drivers/bluetooth/btusb.c +++ b/drivers/bluetooth/btusb.c @@ -3636,7 +3636,7 @@ 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); @@ -3797,7 +3797,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); diff --git a/drivers/bluetooth/hci_vhci.c b/drivers/bluetooth/hci_vhci.c index acf2544dbb05..5c27c27e54a0 100644 --- a/drivers/bluetooth/hci_vhci.c +++ b/drivers/bluetooth/hci_vhci.c @@ -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,19 +149,19 @@ 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, +static ssize_t 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, +static ssize_t wakeup_write(struct file *file, const char __user *user_buf, size_t count, loff_t *ppos) { @@ -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 wakeup_fops = { .open = simple_open, - .read = force_prevent_wake_read, - .write = force_prevent_wake_write, + .read = wakeup_read, + .write = 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,7 @@ 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("wakeup", 0644, hdev->debugfs, data, &wakeup_fops); hci_skb_pkt_type(skb) = HCI_VENDOR_PKT; diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h index 3b06990fcf16..dd8840e70e25 100644 --- a/include/net/bluetooth/hci_core.h +++ b/include/net/bluetooth/hci_core.h @@ -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, diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c index ea063ce4d7af..8d33aa64846b 100644 --- a/net/bluetooth/hci_core.c +++ b/net/bluetooth/hci_core.c @@ -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);