On Thu, May 11, 2017 at 6:41 AM, Arnd Bergmann <arnd@xxxxxxxx> 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@xxxxxxxxxx> > > Fixes: 371805522f87 ("bluetooth: hci_uart: add LL protocol serdev driver support") > Cc: Rob Herring <robh@xxxxxxxxxx> > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> > --- > drivers/bluetooth/Kconfig | 1 + > 1 file changed, 1 insertion(+) -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html