serdev: Introduce new bus for serial attached devices
authorRob Herring <robh@kernel.org>
Thu, 2 Feb 2017 19:48:07 +0000 (13:48 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 3 Feb 2017 09:17:02 +0000 (10:17 +0100)
commitcd6484e1830be260abfba80a9c7d8f65531126d6
treeb21b8127a0f6cfa39a084fafb98f0c9871def790
parentc1c98dadb2de5d9645bdd142536ca81ca28361f7
serdev: Introduce new bus for serial attached devices

The serdev bus is designed for devices such as Bluetooth, WiFi, GPS
and NFC connected to UARTs on host processors. Tradionally these have
been handled with tty line disciplines, rfkill, and userspace glue such
as hciattach. This approach has many drawbacks since it doesn't fit
into the Linux driver model. Handling of sideband signals, power control
and firmware loading are the main issues.

This creates a serdev bus with controllers (i.e. host serial ports) and
attached devices. Typically, these are point to point connections, but
some devices have muxing protocols or a h/w mux is conceivable. Any
muxing is not yet supported with the serdev bus.

Signed-off-by: Rob Herring <robh@kernel.org>
Reviewed-By: Sebastian Reichel <sre@kernel.org>
Tested-By: Sebastian Reichel <sre@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
MAINTAINERS
drivers/char/Kconfig
drivers/tty/Makefile
drivers/tty/serdev/Kconfig [new file with mode: 0644]
drivers/tty/serdev/Makefile [new file with mode: 0644]
drivers/tty/serdev/core.c [new file with mode: 0644]
include/linux/serdev.h [new file with mode: 0644]