Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3d93e337 authored by David S. Miller's avatar David S. Miller
Browse files

Merge branch 'for-upstream' of...

Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next



Johan Hedberg says:

====================
pull request: bluetooth-next 2018-01-11

Here's likely the last bluetooth-next pull request for the 4.16 kernel.

 - Added support for Bluetooth on 2015+ MacBook (Pro)
 - Fix to QCA Rome suspend/resume handling
 - Two new QCA_ROME USB IDs in btusb
 - A few other minor fixes

Please let me know if there are any issues pulling. Thanks.
====================

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents 297a6961 ff875960
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -77,6 +77,7 @@ config BT_HCIBTSDIO
config BT_HCIUART
	tristate "HCI UART driver"
	depends on SERIAL_DEV_BUS || !SERIAL_DEV_BUS
	depends on NVMEM || !NVMEM
	depends on TTY
	help
	  Bluetooth HCI UART driver.
@@ -107,6 +108,7 @@ config BT_HCIUART_NOKIA
	tristate "UART Nokia H4+ protocol support"
	depends on BT_HCIUART
	depends on BT_HCIUART_SERDEV
	depends on GPIOLIB
	depends on PM
	select BT_HCIUART_H4
	select BT_BCM
@@ -168,6 +170,7 @@ config BT_HCIUART_3WIRE
config BT_HCIUART_INTEL
	bool "Intel protocol support"
	depends on BT_HCIUART
	depends on GPIOLIB
	select BT_HCIUART_H4
	select BT_INTEL
	help
@@ -181,6 +184,7 @@ config BT_HCIUART_BCM
	depends on BT_HCIUART
	depends on BT_HCIUART_SERDEV
	depends on (!ACPI || SERIAL_DEV_CTRL_TTYPORT)
	depends on GPIOLIB
	select BT_HCIUART_H4
	select BT_BCM
	help
+1 −1
Original line number Diff line number Diff line
@@ -259,7 +259,7 @@ static int bpa10x_flush(struct hci_dev *hdev)

static int bpa10x_setup(struct hci_dev *hdev)
{
	const u8 req[] = { 0x07 };
	static const u8 req[] = { 0x07 };
	struct sk_buff *skb;

	BT_DBG("%s", hdev->name);
+1 −1
Original line number Diff line number Diff line
@@ -44,8 +44,8 @@ struct bcm_set_sleep_mode {
	__u8 tristate_control;
	__u8 usb_auto_sleep;
	__u8 usb_resume_timeout;
	__u8 pulsed_host_wake;
	__u8 break_to_host;
	__u8 pulsed_host_wake;
} __packed;

struct bcm_set_pcm_int_params {
+1 −1
Original line number Diff line number Diff line
@@ -75,7 +75,7 @@ EXPORT_SYMBOL_GPL(btintel_check_bdaddr);

int btintel_enter_mfg(struct hci_dev *hdev)
{
	const u8 param[] = { 0x01, 0x00 };
	static const u8 param[] = { 0x01, 0x00 };
	struct sk_buff *skb;

	skb = __hci_cmd_sync(hdev, 0xfc11, 2, param, HCI_CMD_TIMEOUT);
+8 −14
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@

#include <linux/module.h>
#include <linux/usb.h>
#include <linux/usb/quirks.h>
#include <linux/firmware.h>
#include <linux/of_device.h>
#include <linux/of_irq.h>
@@ -264,6 +265,7 @@ static const struct usb_device_id blacklist_table[] = {
	/* QCA ROME chipset */
	{ USB_DEVICE(0x0cf3, 0xe007), .driver_info = BTUSB_QCA_ROME },
	{ USB_DEVICE(0x0cf3, 0xe009), .driver_info = BTUSB_QCA_ROME },
	{ USB_DEVICE(0x0cf3, 0xe010), .driver_info = BTUSB_QCA_ROME },
	{ USB_DEVICE(0x0cf3, 0xe300), .driver_info = BTUSB_QCA_ROME },
	{ USB_DEVICE(0x0cf3, 0xe301), .driver_info = BTUSB_QCA_ROME },
	{ USB_DEVICE(0x0cf3, 0xe360), .driver_info = BTUSB_QCA_ROME },
@@ -271,6 +273,7 @@ static const struct usb_device_id blacklist_table[] = {
	{ USB_DEVICE(0x0489, 0xe09f), .driver_info = BTUSB_QCA_ROME },
	{ USB_DEVICE(0x0489, 0xe0a2), .driver_info = BTUSB_QCA_ROME },
	{ USB_DEVICE(0x04ca, 0x3011), .driver_info = BTUSB_QCA_ROME },
	{ USB_DEVICE(0x04ca, 0x3015), .driver_info = BTUSB_QCA_ROME },
	{ USB_DEVICE(0x04ca, 0x3016), .driver_info = BTUSB_QCA_ROME },

	/* Broadcom BCM2035 */
@@ -388,9 +391,8 @@ static const struct usb_device_id blacklist_table[] = {
#define BTUSB_FIRMWARE_LOADED	7
#define BTUSB_FIRMWARE_FAILED	8
#define BTUSB_BOOTING		9
#define BTUSB_RESET_RESUME	10
#define BTUSB_DIAG_RUNNING	11
#define BTUSB_OOB_WAKE_ENABLED	12
#define BTUSB_DIAG_RUNNING	10
#define BTUSB_OOB_WAKE_ENABLED	11

struct btusb_data {
	struct hci_dev       *hdev;
@@ -3121,9 +3123,9 @@ static int btusb_probe(struct usb_interface *intf,

		/* QCA Rome devices lose their updated firmware over suspend,
		 * but the USB hub doesn't notice any status change.
		 * Explicitly request a device reset on resume.
		 * explicitly request a device reset on resume.
		 */
		set_bit(BTUSB_RESET_RESUME, &data->flags);
		interface_to_usbdev(intf)->quirks |= USB_QUIRK_RESET_RESUME;
	}

#ifdef CONFIG_BT_HCIBTUSB_RTL
@@ -3134,7 +3136,7 @@ static int btusb_probe(struct usb_interface *intf,
		 * but the USB hub doesn't notice any status change.
		 * Explicitly request a device reset on resume.
		 */
		set_bit(BTUSB_RESET_RESUME, &data->flags);
		interface_to_usbdev(intf)->quirks |= USB_QUIRK_RESET_RESUME;
	}
#endif

@@ -3303,14 +3305,6 @@ static int btusb_suspend(struct usb_interface *intf, pm_message_t message)
		enable_irq(data->oob_wake_irq);
	}

	/* Optionally request a device reset on resume, but only when
	 * wakeups are disabled. If wakeups are enabled we assume the
	 * device will stay powered up throughout suspend.
	 */
	if (test_bit(BTUSB_RESET_RESUME, &data->flags) &&
	    !device_may_wakeup(&data->udev->dev))
		data->udev->reset_resume = 1;

	return 0;
}

Loading