diff mbox

bluetooth: hci_ll: add proper SERDEV dependency

Message ID 20170511114223.2744939-1-arnd@arndb.de
State New
Headers show

Commit Message

Arnd Bergmann May 11, 2017, 11:41 a.m. UTC
When SERDEV is a loadable module, and the HCI code is built-in, we
get a link error:

drivers/bluetooth/built-in.o: In function `ll_close':
hci_ll.c:(.text+0x278d): undefined reference to `serdev_device_close'
drivers/bluetooth/built-in.o: In function `hci_ti_probe':
hci_ll.c:(.text+0x283c): undefined reference to `hci_uart_register_device'
drivers/bluetooth/built-in.o: In function `ll_setup':
hci_ll.c:(.text+0x289e): undefined reference to `serdev_device_set_flow_control'
hci_ll.c:(.text+0x2b9c): undefined reference to `serdev_device_set_baudrate'
drivers/bluetooth/built-in.o: In function `ll_open':
hci_ll.c:(.text+0x2c77): undefined reference to `serdev_device_open'
drivers/bluetooth/built-in.o: In function `ll_init':
(.init.text+0x10d): undefined reference to `__serdev_device_driver_register'

We already have CONFIG_BT_HCIUART_SERDEV as a Kconfig symbol that is
set when the serdev code is reachable by a driver. Unlike the nokia
driver, this one can also be built when serdev is completely disabled,
so we add a dependency on serdev either being usable or disabled here.

Fixes: 371805522f87 ("bluetooth: hci_uart: add LL protocol serdev driver support")
Cc: Rob Herring <robh@kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

---
 drivers/bluetooth/Kconfig | 1 +
 1 file changed, 1 insertion(+)

-- 
2.9.0

Comments

Sebastian Reichel May 11, 2017, 6:12 p.m. UTC | #1
Hi,

On Thu, May 11, 2017 at 01:41:54PM +0200, Arnd Bergmann wrote:
> When SERDEV is a loadable module, and the HCI code is built-in, we

> get a link error:

> 

> drivers/bluetooth/built-in.o: In function `ll_close':

> hci_ll.c:(.text+0x278d): undefined reference to `serdev_device_close'

> drivers/bluetooth/built-in.o: In function `hci_ti_probe':

> hci_ll.c:(.text+0x283c): undefined reference to `hci_uart_register_device'

> drivers/bluetooth/built-in.o: In function `ll_setup':

> hci_ll.c:(.text+0x289e): undefined reference to `serdev_device_set_flow_control'

> hci_ll.c:(.text+0x2b9c): undefined reference to `serdev_device_set_baudrate'

> drivers/bluetooth/built-in.o: In function `ll_open':

> hci_ll.c:(.text+0x2c77): undefined reference to `serdev_device_open'

> drivers/bluetooth/built-in.o: In function `ll_init':

> (.init.text+0x10d): undefined reference to `__serdev_device_driver_register'

> 

> We already have CONFIG_BT_HCIUART_SERDEV as a Kconfig symbol that is

> set when the serdev code is reachable by a driver. Unlike the nokia

> driver, this one can also be built when serdev is completely disabled,

> so we add a dependency on serdev either being usable or disabled here.

> 

> Fixes: 371805522f87 ("bluetooth: hci_uart: add LL protocol serdev driver support")

> Cc: Rob Herring <robh@kernel.org>

> Signed-off-by: Arnd Bergmann <arnd@arndb.de>


Reviewed-by: Sebastian Reichel <sre@kernel.org>


-- Sebastian

> ---

>  drivers/bluetooth/Kconfig | 1 +

>  1 file changed, 1 insertion(+)

> 

> diff --git a/drivers/bluetooth/Kconfig b/drivers/bluetooth/Kconfig

> index a63130ef2b98..b2cf0ae6b62d 100644

> --- a/drivers/bluetooth/Kconfig

> +++ b/drivers/bluetooth/Kconfig

> @@ -133,6 +133,7 @@ config BT_HCIUART_ATH3K

>  config BT_HCIUART_LL

>  	bool "HCILL protocol support"

>  	depends on BT_HCIUART

> +	depends on BT_HCIUART_SERDEV || SERIAL_DEV_BUS=n

>  	help

>  	  HCILL (HCI Low Level) is a serial protocol for communication

>  	  between Bluetooth device and host. This protocol is required for

> -- 

> 2.9.0

> 

> --

> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in

> the body of a message to majordomo@vger.kernel.org

> More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/bluetooth/Kconfig b/drivers/bluetooth/Kconfig
index a63130ef2b98..b2cf0ae6b62d 100644
--- a/drivers/bluetooth/Kconfig
+++ b/drivers/bluetooth/Kconfig
@@ -133,6 +133,7 @@  config BT_HCIUART_ATH3K
 config BT_HCIUART_LL
 	bool "HCILL protocol support"
 	depends on BT_HCIUART
+	depends on BT_HCIUART_SERDEV || SERIAL_DEV_BUS=n
 	help
 	  HCILL (HCI Low Level) is a serial protocol for communication
 	  between Bluetooth device and host. This protocol is required for