summaryrefslogtreecommitdiffstats
path: root/drivers/bluetooth/Kconfig
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2017-11-13 14:44:16 +0100
committerMarcel Holtmann <marcel@holtmann.org>2017-12-13 00:28:40 +0100
commiteff2d68ca7388ee1c08811c6bbf4d8587cba01da (patch)
treebdf2114cf04cf8c214896b0af91cd8d4c87217d4 /drivers/bluetooth/Kconfig
parentBluetooth: Use common error handling code in bt_init() (diff)
downloadlinux-eff2d68ca7388ee1c08811c6bbf4d8587cba01da.tar.xz
linux-eff2d68ca7388ee1c08811c6bbf4d8587cba01da.zip
Bluetooth: btusb: Add a Kconfig option to enable USB autosuspend by default
On many laptops the btusb device is the only USB device not having USB autosuspend enabled, this causes not only the HCI but also the USB controller to stay awake, together using aprox. 0.4W of power. Modern ultrabooks idle around 6W (at 50% screen brightness), 3.5W for Apollo Lake devices. 0.4W is a significant chunk of this (7 / 11%). The btusb driver already contains code to allow enabling USB autosuspend, but currently leaves it up to the user / userspace to enable it. This means that for most people it will not be enabled, leading to an unnecessarily high power consumption. Since enabling it is not entirely without risk of regressions, this commit adds a Kconfig option so that Linux distributions can choose to enable it by default. This commit also adds a module option so that when distros receive bugs they can easily ask the user to disable it again for easy debugging. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'drivers/bluetooth/Kconfig')
-rw-r--r--drivers/bluetooth/Kconfig10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/bluetooth/Kconfig b/drivers/bluetooth/Kconfig
index 60e1c7d6986d..eb4101aee787 100644
--- a/drivers/bluetooth/Kconfig
+++ b/drivers/bluetooth/Kconfig
@@ -31,6 +31,16 @@ config BT_HCIBTUSB
Say Y here to compile support for Bluetooth USB devices into the
kernel or say M to compile it as module (btusb).
+config BT_HCIBTUSB_AUTOSUSPEND
+ bool "Enable USB autosuspend for Bluetooth USB devices by default.
+ depends on BT_HCIBTUSB
+ help
+ Say Y here to enable USB autosuspend for Bluetooth USB devices by
+ default.
+
+ This can be overridden by passing btusb.enable_autosuspend=[y|n]
+ on the kernel commandline.
+
config BT_HCIBTUSB_BCM
bool "Broadcom protocol support"
depends on BT_HCIBTUSB