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