Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Bluetooth: btintel_pcie: Define hdev->wakeup() callback

Implement hdev->wakeup() callback to support Wake On BT feature.

Test steps:
1. echo enabled > /sys/bus/pci/devices/0000:00:14.7/power/wakeup
2. connect bluetooth hid device
3. put the system to suspend - rtcwake -m mem -s 300
4. press any key on hid to wake up the system

Signed-off-by: Kiran K <kiran.k@intel.com>
Signed-off-by: Chandrashekar Devegowda <chandrashekar.devegowda@intel.com>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>

authored by

Chandrashekar Devegowda and committed by
Luiz Augusto von Dentz
3e942629 34ecb876

+8
+8
drivers/bluetooth/btintel_pcie.c
··· 2416 2416 btintel_pcie_reset(hdev); 2417 2417 } 2418 2418 2419 + static bool btintel_pcie_wakeup(struct hci_dev *hdev) 2420 + { 2421 + struct btintel_pcie_data *data = hci_get_drvdata(hdev); 2422 + 2423 + return device_may_wakeup(&data->pdev->dev); 2424 + } 2425 + 2419 2426 static int btintel_pcie_setup_hdev(struct btintel_pcie_data *data) 2420 2427 { 2421 2428 int err; ··· 2448 2441 hdev->set_diag = btintel_set_diag; 2449 2442 hdev->set_bdaddr = btintel_set_bdaddr; 2450 2443 hdev->reset = btintel_pcie_reset; 2444 + hdev->wakeup = btintel_pcie_wakeup; 2451 2445 2452 2446 err = hci_register_dev(hdev); 2453 2447 if (err < 0) {