Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cd6484e1 authored by Rob Herring's avatar Rob Herring Committed by Greg Kroah-Hartman
Browse files

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: default avatarRob Herring <robh@kernel.org>
Reviewed-By: default avatarSebastian Reichel <sre@kernel.org>
Tested-By: default avatarSebastian Reichel <sre@kernel.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent c1c98dad
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -10831,6 +10831,14 @@ S: Maintained
F:	Documentation/devicetree/bindings/serial/
F:	drivers/tty/serial/

SERIAL DEVICE BUS
M:	Rob Herring <robh@kernel.org>
L:	linux-serial@vger.kernel.org
S:	Maintained
F:	Documentation/devicetree/bindings/serial/slave-device.txt
F:	drivers/tty/serdev/
F:	include/linux/serdev.h

SERIAL IR RECEIVER
M:	Sean Young <sean@mess.org>
L:	linux-media@vger.kernel.org
+1 −0
Original line number Diff line number Diff line
@@ -46,6 +46,7 @@ config SGI_MBCS
         say Y or M here, otherwise say N.

source "drivers/tty/serial/Kconfig"
source "drivers/tty/serdev/Kconfig"

config TTY_PRINTK
	tristate "TTY driver to output user messages via printk"
+1 −0
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@ obj-$(CONFIG_R3964) += n_r3964.o
obj-y				+= vt/
obj-$(CONFIG_HVC_DRIVER)	+= hvc/
obj-y				+= serial/
obj-$(CONFIG_SERIAL_DEV_BUS)	+= serdev/

# tty drivers
obj-$(CONFIG_AMIGA_BUILTIN_SERIAL) += amiserial.o
+8 −0
Original line number Diff line number Diff line
#
# Serial bus device driver configuration
#
menuconfig SERIAL_DEV_BUS
	tristate "Serial device bus"
	help
	  Core support for devices connected via a serial port.
+3 −0
Original line number Diff line number Diff line
serdev-objs := core.o

obj-$(CONFIG_SERIAL_DEV_BUS) += serdev.o
Loading