Skip to content

RFC Move HCI UART vendor specific setup to kernel

Frederic Danis linux-bluetooth 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest5 patches 18 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/5Bluetooth: hci_uart: Add HCIUARTSETDEVTYPE ioctldrivers/bluetooth/hci_ldisc.c drivers/bluetooth/hci_uart.h+54 -01 reply
2/5Bluetooth: hci_uart: Add BCM specific setup functiondrivers/bluetooth/Kconfig drivers/bluetooth/Makefile drivers/bluetooth/hci_bcm.c +2 more+260 -00 replies
3/5Bluetooth: hci_uart: Add HCIUARTSETBAUDRATE ioctldrivers/bluetooth/hci_ldisc.c drivers/bluetooth/hci_uart.h+6 -016 replies
4/5tty: Re-add external interface for tty_set_termios()drivers/tty/tty_ioctl.c include/linux/tty.h+3 -11 reply
5/5Bluetooth: hci_uart: Add BCM specific UART speed managementdrivers/bluetooth/hci_bcm.c+111 -00 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [RFC 0/5] Move HCI UART vendor specific setup to kernel

This is a proposal to move the vendor specific setup (firmware loading and final speed setup) to the kernel.
This will allow vendor specific setup function to use the HCI protocols already implemented in kernel.

This adds 2 new IOCTLs (HCIUARTSETDEVTYPE and HCIUARTSETBAUDRATE) to be able to select vendor specific setup function and final baudrate to use.

User space application in charge of attaching Bluetooth UART device will have to call them before changing the proto to use (HCIUARTSETPROTO).

UART baud rate setup needs to set tty_set_termios() publicly available (partially reverting patch "tty: Remove external interface for tty_set_termios()" from Peter Hurley 2015-01-25 SHA1 632f32e2107).

A first work is provided based on Broadcom chip integrated in Asus T100.

Future: A third IOCTL (HCIUARTLISTDEVTYPE) can be added to allow user space application to list supported Bluetooth device types by kernel.

Frederic Danis (5):
Bluetooth: hci_uart: Add HCIUARTSETDEVTYPE ioctl
Bluetooth: hci_uart: Add BCM specific setup function
Bluetooth: hci_uart: Add HCIUARTSETBAUDRATE ioctl
tty: Re-add external interface for tty_set_termios()
Bluetooth: hci_uart: Add BCM specific UART speed management

 drivers/bluetooth/Kconfig     |  10 ++
 drivers/bluetooth/Makefile    |   1 +
 drivers/bluetooth/hci_bcm.c   | 351 ++++++++++++++++++++++++++++++++++++++++++
 drivers/bluetooth/hci_ldisc.c |  59 +++++++
 drivers/bluetooth/hci_uart.h  |  10 ++
 drivers/tty/tty_ioctl.c       |   3 +-
 include/linux/tty.h           |   1 +
 7 files changed, 434 insertions(+), 1 deletion(-)
 create mode 100644 drivers/bluetooth/hci_bcm.c
Signature · 1 line
1.9.1