From: Marcel Holtmann Date: Mon, 6 Apr 2015 05:52:12 +0000 (-0700) Subject: Bluetooth: hci_uart: Use generic functionality from Broadcom module X-Git-Tag: v4.14-rc1~5592^2~34^2~18 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3e0ac12a1a610b4ab47282a25ee5945064228e35;p=platform%2Fkernel%2Flinux-rpi.git 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 --- diff --git a/drivers/bluetooth/Kconfig b/drivers/bluetooth/Kconfig index b593e5f..9f68e11 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 1a5817b..dd338fa 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 b265abc..b182ddc 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 80e694a..ad03f57 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