Skip to content

Commit cd6484e

Browse files
robherringgregkh
authored andcommitted
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>
1 parent c1c98da commit cd6484e

File tree

7 files changed

+683
-0
lines changed

7 files changed

+683
-0
lines changed

MAINTAINERS

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10831,6 +10831,14 @@ S: Maintained
1083110831
F: Documentation/devicetree/bindings/serial/
1083210832
F: drivers/tty/serial/
1083310833

10834+
SERIAL DEVICE BUS
10835+
M: Rob Herring <robh@kernel.org>
10836+
L: linux-serial@vger.kernel.org
10837+
S: Maintained
10838+
F: Documentation/devicetree/bindings/serial/slave-device.txt
10839+
F: drivers/tty/serdev/
10840+
F: include/linux/serdev.h
10841+
1083410842
SERIAL IR RECEIVER
1083510843
M: Sean Young <sean@mess.org>
1083610844
L: linux-media@vger.kernel.org

drivers/char/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ config SGI_MBCS
4646
say Y or M here, otherwise say N.
4747

4848
source "drivers/tty/serial/Kconfig"
49+
source "drivers/tty/serdev/Kconfig"
4950

5051
config TTY_PRINTK
5152
tristate "TTY driver to output user messages via printk"

drivers/tty/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ obj-$(CONFIG_R3964) += n_r3964.o
1313
obj-y += vt/
1414
obj-$(CONFIG_HVC_DRIVER) += hvc/
1515
obj-y += serial/
16+
obj-$(CONFIG_SERIAL_DEV_BUS) += serdev/
1617

1718
# tty drivers
1819
obj-$(CONFIG_AMIGA_BUILTIN_SERIAL) += amiserial.o

drivers/tty/serdev/Kconfig

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#
2+
# Serial bus device driver configuration
3+
#
4+
menuconfig SERIAL_DEV_BUS
5+
tristate "Serial device bus"
6+
help
7+
Core support for devices connected via a serial port.
8+

drivers/tty/serdev/Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
serdev-objs := core.o
2+
3+
obj-$(CONFIG_SERIAL_DEV_BUS) += serdev.o

0 commit comments

Comments
 (0)