Browse Source

Bluetooth: hci_uart: Use generic Intel support for address setting

The Bluetooth address setting for Intel devices is provided by a generic
module now. Start using that module instead of relying it being included
in the driver.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Marcel Holtmann 10 years ago
parent
commit
bca03c959a

+ 1 - 0
drivers/bluetooth/Kconfig

@@ -117,6 +117,7 @@ config BT_HCIUART_3WIRE
 config BT_HCIUART_INTEL
 config BT_HCIUART_INTEL
 	bool "Intel protocol support"
 	bool "Intel protocol support"
 	depends on BT_HCIUART
 	depends on BT_HCIUART
+	select BT_INTEL
 	help
 	help
 	  The Intel protocol support enables Bluetooth HCI over serial
 	  The Intel protocol support enables Bluetooth HCI over serial
 	  port interface for Intel Bluetooth controllers.
 	  port interface for Intel Bluetooth controllers.

+ 0 - 17
drivers/bluetooth/hci_intel.c

@@ -29,20 +29,3 @@
 #include <net/bluetooth/hci_core.h>
 #include <net/bluetooth/hci_core.h>
 
 
 #include "hci_uart.h"
 #include "hci_uart.h"
-
-int intel_set_bdaddr(struct hci_dev *hdev, const bdaddr_t *bdaddr)
-{
-	struct sk_buff *skb;
-	int err;
-
-	skb = __hci_cmd_sync(hdev, 0xfc31, 6, bdaddr, HCI_INIT_TIMEOUT);
-	if (IS_ERR(skb)) {
-		err = PTR_ERR(skb);
-		BT_ERR("%s: Changing Intel device address failed (%d)",
-		       hdev->name, err);
-		return err;
-	}
-	kfree_skb(skb);
-
-	return 0;
-}

+ 3 - 1
drivers/bluetooth/hci_ldisc.c

@@ -44,6 +44,7 @@
 #include <net/bluetooth/bluetooth.h>
 #include <net/bluetooth/bluetooth.h>
 #include <net/bluetooth/hci_core.h>
 #include <net/bluetooth/hci_core.h>
 
 
+#include "btintel.h"
 #include "btbcm.h"
 #include "btbcm.h"
 #include "hci_uart.h"
 #include "hci_uart.h"
 
 
@@ -295,7 +296,8 @@ static int hci_uart_setup(struct hci_dev *hdev)
 	switch (le16_to_cpu(ver->manufacturer)) {
 	switch (le16_to_cpu(ver->manufacturer)) {
 #ifdef CONFIG_BT_HCIUART_INTEL
 #ifdef CONFIG_BT_HCIUART_INTEL
 	case 2:
 	case 2:
-		hdev->set_bdaddr = intel_set_bdaddr;
+		hdev->set_bdaddr = btintel_set_bdaddr;
+		btintel_check_bdaddr(hdev);
 		break;
 		break;
 #endif
 #endif
 #ifdef CONFIG_BT_HCIUART_BCM
 #ifdef CONFIG_BT_HCIUART_BCM

+ 0 - 4
drivers/bluetooth/hci_uart.h

@@ -156,10 +156,6 @@ int h5_init(void);
 int h5_deinit(void);
 int h5_deinit(void);
 #endif
 #endif
 
 
-#ifdef CONFIG_BT_HCIUART_INTEL
-int intel_set_bdaddr(struct hci_dev *hdev, const bdaddr_t *bdaddr);
-#endif
-
 #ifdef CONFIG_BT_HCIUART_BCM
 #ifdef CONFIG_BT_HCIUART_BCM
 int bcm_init(void);
 int bcm_init(void);
 int bcm_deinit(void);
 int bcm_deinit(void);