From 3e0ac12a1a610b4ab47282a25ee5945064228e35 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Sun, 5 Apr 2015 22:52:12 -0700 Subject: [PATCH] Bluetooth: hci_uart: Use generic functionality from Broadcom module The new Broadcom Bluetooth support module provides generic functionality for changing and checking the Bluetooth device address. Use these new features instead of keeping a duplicate in the driver. Signed-off-by: Marcel Holtmann Signed-off-by: Johan Hedberg --- drivers/bluetooth/Kconfig | 1 + drivers/bluetooth/hci_bcm.c | 17 ----------------- drivers/bluetooth/hci_ldisc.c | 4 +++- drivers/bluetooth/hci_uart.h | 4 ---- 4 files changed, 4 insertions(+), 22 deletions(-) diff --git a/drivers/bluetooth/Kconfig b/drivers/bluetooth/Kconfig index b593e5f766df..9f68e11c1671 100644 --- a/drivers/bluetooth/Kconfig +++ b/drivers/bluetooth/Kconfig @@ -111,6 +111,7 @@ config BT_HCIUART_INTEL config BT_HCIUART_BCM bool "Broadcom protocol support" depends on BT_HCIUART + select BT_BCM help The Broadcom protocol support enables Bluetooth HCI over serial port interface for Broadcom Bluetooth controllers. diff --git a/drivers/bluetooth/hci_bcm.c b/drivers/bluetooth/hci_bcm.c index 1a5817bda7c6..dd338fa77433 100644 --- a/drivers/bluetooth/hci_bcm.c +++ b/drivers/bluetooth/hci_bcm.c @@ -29,20 +29,3 @@ #include #include "hci_uart.h" - -int bcm_set_bdaddr(struct hci_dev *hdev, const bdaddr_t *bdaddr) -{ - struct sk_buff *skb; - int err; - - skb = __hci_cmd_sync(hdev, 0xfc01, 6, bdaddr, HCI_INIT_TIMEOUT); - if (IS_ERR(skb)) { - err = PTR_ERR(skb); - BT_ERR("%s: BCM: Change address command failed (%d)", - hdev->name, err); - return err; - } - kfree_skb(skb); - - return 0; -} diff --git a/drivers/bluetooth/hci_ldisc.c b/drivers/bluetooth/hci_ldisc.c index b265abcb9eb6..b182ddc43dfe 100644 --- a/drivers/bluetooth/hci_ldisc.c +++ b/drivers/bluetooth/hci_ldisc.c @@ -44,6 +44,7 @@ #include #include +#include "btbcm.h" #include "hci_uart.h" #define VERSION "2.3" @@ -299,7 +300,8 @@ static int hci_uart_setup(struct hci_dev *hdev) #endif #ifdef CONFIG_BT_HCIUART_BCM case 15: - hdev->set_bdaddr = bcm_set_bdaddr; + hdev->set_bdaddr = btbcm_set_bdaddr; + btbcm_check_bdaddr(hdev); break; #endif } diff --git a/drivers/bluetooth/hci_uart.h b/drivers/bluetooth/hci_uart.h index 80e694a36143..ad03f57e794b 100644 --- a/drivers/bluetooth/hci_uart.h +++ b/drivers/bluetooth/hci_uart.h @@ -128,7 +128,3 @@ int h5_deinit(void); #ifdef CONFIG_BT_HCIUART_INTEL int intel_set_bdaddr(struct hci_dev *hdev, const bdaddr_t *bdaddr); #endif - -#ifdef CONFIG_BT_HCIUART_BCM -int bcm_set_bdaddr(struct hci_dev *hdev, const bdaddr_t *bdaddr); -#endif -- 2.20.1