summaryrefslogtreecommitdiffstats
path: root/0001-Bluetooth-btusb-Add-a-Kconfig-option-to-enable-USB-a.patch
diff options
context:
space:
mode:
Diffstat (limited to '0001-Bluetooth-btusb-Add-a-Kconfig-option-to-enable-USB-a.patch')
-rw-r--r--0001-Bluetooth-btusb-Add-a-Kconfig-option-to-enable-USB-a.patch90
1 files changed, 0 insertions, 90 deletions
diff --git a/0001-Bluetooth-btusb-Add-a-Kconfig-option-to-enable-USB-a.patch b/0001-Bluetooth-btusb-Add-a-Kconfig-option-to-enable-USB-a.patch
deleted file mode 100644
index 1f94c3d70..000000000
--- a/0001-Bluetooth-btusb-Add-a-Kconfig-option-to-enable-USB-a.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-From 20eeb02a0a489e35de0830b2d61f09d43763c982 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Mon, 13 Nov 2017 09:23:19 +0100
-Subject: [PATCH] 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>
----
-Changes in v2:
--s/BT_USB_AUTOSUSPEND/BT_HCIBTUSB_AUTOSUSPEND/
--s/enable_usb_autosuspend/enable_autosuspend/
----
- drivers/bluetooth/Kconfig | 10 ++++++++++
- drivers/bluetooth/btusb.c | 7 +++++++
- 2 files changed, 17 insertions(+)
-
-diff --git a/drivers/bluetooth/Kconfig b/drivers/bluetooth/Kconfig
-index 6475f8c0d3b2..20940417d937 100644
---- a/drivers/bluetooth/Kconfig
-+++ b/drivers/bluetooth/Kconfig
-@@ -30,6 +30,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
-diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
-index c054d7bce490..3386034a44aa 100644
---- a/drivers/bluetooth/btusb.c
-+++ b/drivers/bluetooth/btusb.c
-@@ -40,6 +40,7 @@
-
- static bool disable_scofix;
- static bool force_scofix;
-+static bool enable_autosuspend = IS_ENABLED(CONFIG_BT_HCIBTUSB_AUTOSUSPEND);
-
- static bool reset = true;
-
-@@ -3175,6 +3176,9 @@ static int btusb_probe(struct usb_interface *intf,
- }
- #endif
-
-+ if (enable_autosuspend)
-+ usb_enable_autosuspend(data->udev);
-+
- err = hci_register_dev(hdev);
- if (err < 0)
- goto out_free_dev;
-@@ -3387,6 +3391,9 @@ MODULE_PARM_DESC(disable_scofix, "Disable fixup of wrong SCO buffer size");
- module_param(force_scofix, bool, 0644);
- MODULE_PARM_DESC(force_scofix, "Force fixup of wrong SCO buffers size");
-
-+module_param(enable_autosuspend, bool, 0644);
-+MODULE_PARM_DESC(enable_autosuspend, "Enable USB autosuspend by default");
-+
- module_param(reset, bool, 0644);
- MODULE_PARM_DESC(reset, "Send HCI reset command on initialization");
-
---
-2.14.3
-