Re: [PATCHv2 09/11] Bluetooth: add nokia driver

From: Sebastian Reichel
Date: Thu Mar 23 2017 - 05:07:31 EST


Hi,

On Thu, Mar 23, 2017 at 08:50:42AM +0100, Frédéric Danis wrote:
> Le 21/03/2017 à 23:32, Sebastian Reichel a écrit :
> > This adds a driver for the Nokia H4+ protocol, which is used
> > at least on the Nokia N9, N900 & N950.
> >
> > Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx>
> > ---
> > Changes since PATCHv1:
> > * replace __u8 and uint8_t with u8
> > * replace __u16 and uint16_t with u16
> > * drop BT_BAUDRATE_DIVIDER and use btdev->sysclk_speed * 10 instead
> > * fix wording of a sentence
> > * fix error path of negotation & alive package receive functions
> > * replaced nokia_wait_for_cts with newly introduced serdev function
> > * use "nokia,h4p-bluetooth" as compatible string
> > ---
> > drivers/bluetooth/Kconfig | 12 +
> > drivers/bluetooth/Makefile | 2 +
> > drivers/bluetooth/hci_nokia.c | 819 ++++++++++++++++++++++++++++++++++++++++++
> > 3 files changed, 833 insertions(+)
> > create mode 100644 drivers/bluetooth/hci_nokia.c
> >
> > diff --git a/drivers/bluetooth/Kconfig b/drivers/bluetooth/Kconfig
> > index c2c14a12713b..2e3e4d3547ad 100644
> > --- a/drivers/bluetooth/Kconfig
> > +++ b/drivers/bluetooth/Kconfig
> > @@ -86,6 +86,18 @@ config BT_HCIUART_H4
> > Say Y here to compile support for HCI UART (H4) protocol.
> > +config BT_HCIUART_NOKIA
> > + tristate "UART Nokia H4+ protocol support"
> > + depends on BT_HCIUART
> > + depends on SERIAL_DEV_BUS
> > + depends on PM
> > + help
> > + Nokia H4+ is serial protocol for communication between Bluetooth
> > + device and host. This protocol is required for Bluetooth devices
> > + with UART interface in Nokia devices.
> > +
> > + Say Y here to compile support for Nokia's H4+ protocol.
> > +
> > config BT_HCIUART_BCSP
> > bool "BCSP protocol support"
> > depends on BT_HCIUART
> > diff --git a/drivers/bluetooth/Makefile b/drivers/bluetooth/Makefile
> > index fd571689eed6..a7f237320f4b 100644
> > --- a/drivers/bluetooth/Makefile
> > +++ b/drivers/bluetooth/Makefile
> > @@ -25,6 +25,8 @@ obj-$(CONFIG_BT_BCM) += btbcm.o
> > obj-$(CONFIG_BT_RTL) += btrtl.o
> > obj-$(CONFIG_BT_QCA) += btqca.o
> > +obj-$(CONFIG_BT_HCIUART_NOKIA) += hci_nokia.o
> > +
> > btmrvl-y := btmrvl_main.o
> > btmrvl-$(CONFIG_DEBUG_FS) += btmrvl_debugfs.o
>
> This does not build as module with following error:
> ERROR: "hci_uart_tx_wakeup" [drivers/bluetooth/hci_nokia.ko] undefined!
> ERROR: "hci_uart_register_device" [drivers/bluetooth/hci_nokia.ko]
> undefined!
>
> Should not hci_nokia be part of the hci_uart module?

Yeah, I also received that from kbuild test robot after sending the
patchset. I intentionally did not add this to hci_uart, so that I can
use module_serdev_device_driver(). I think at least for serdev-only
based bluetooth drivers it makes sense to have them in their own module.
I already have added EXPORT_SYMBOL_GPL for those functions in the next
version of this patchset.

-- Sebastian

Attachment: signature.asc
Description: PGP signature