Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1639323 > unrolled thread

[PATCH] bluetooth: hci_ll: add proper SERDEV dependency

Started byArnd Bergmann <arnd@arndb.de>
First post2017-05-11 13:50 +0200
Last post2017-05-18 17:00 +0200
Articles 4 — 4 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] bluetooth: hci_ll: add proper SERDEV dependency Arnd Bergmann <arnd@arndb.de> - 2017-05-11 13:50 +0200
    Re: [PATCH] bluetooth: hci_ll: add proper SERDEV dependency Rob Herring <robh@kernel.org> - 2017-05-11 17:10 +0200
    Re: [PATCH] bluetooth: hci_ll: add proper SERDEV dependency Sebastian Reichel <sre@kernel.org> - 2017-05-11 20:30 +0200
    Re: [PATCH] bluetooth: hci_ll: add proper SERDEV dependency Marcel Holtmann <marcel@holtmann.org> - 2017-05-18 17:00 +0200

#1639323 — [PATCH] bluetooth: hci_ll: add proper SERDEV dependency

FromArnd Bergmann <arnd@arndb.de>
Date2017-05-11 13:50 +0200
Subject[PATCH] bluetooth: hci_ll: add proper SERDEV dependency
Message-ID<tFULv-5Ng-5@gated-at.bofh.it>
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(+)

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

[toc] | [next] | [standalone]


#1639667

FromRob Herring <robh@kernel.org>
Date2017-05-11 17:10 +0200
Message-ID<tFXT4-7X6-41@gated-at.bofh.it>
In reply to#1639323
On Thu, May 11, 2017 at 6:41 AM, Arnd Bergmann <arnd@arndb.de> 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.

I thought this was okay because of the differences with the nokia
driver, but I should have tested it. In hindsight, serdev as a module
is really a PIA considering that it effectively has to be built-in due
to TTY dependencies.

Acked-by: Rob Herring <robh@kernel.org>

>
> 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(+)

[toc] | [prev] | [next] | [standalone]


#1639947

FromSebastian Reichel <sre@kernel.org>
Date2017-05-11 20:30 +0200
Message-ID<tG10C-1rf-17@gated-at.bofh.it>
In reply to#1639323

[Multipart message — attachments visible in raw view] — view raw

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

[toc] | [prev] | [next] | [standalone]


#1644639

FromMarcel Holtmann <marcel@holtmann.org>
Date2017-05-18 17:00 +0200
Message-ID<tIv4e-47X-13@gated-at.bofh.it>
In reply to#1639323
Hi Arnd,

> 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(+)
> 
> 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

this does not apply against bluetooth-next tree. Can you respin it with the acks.

Regards

Marcel

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web