On Fri, 2017-01-06 at 10:26 -0600, Rob Herring wrote: > Here goes another attempt at a serial device bus (aka uart slaves, tty > slaves, etc.). > > After some discussions with Dmitry at LPC, I decided to move away from > extending serio and moved back to making a new bus type instead. He > didn't > think using serio was a good fit, and serio has a number of > peculiarities > in regards to sysfs and it's driver model. I don't think we want to > inherit > those for serial slave devices. > > This version sits on top of tty_port rather than uart_port as Alan > requested. Once I created a struct tty rather than moving everything > needed to tty_port, it became a lot easier and less invasive to the > tty > core code. > > I have hacked up versions of the BT ldisc and TI ST drivers moved over > to > use the serdev bus. I have BT working on the HiKey board which has TI > BT. > With the serdev bus support, it eliminates the need for the TI > userspace > UIM daemon. > > This series and the mentioned drivers can be found here[1]. For patches 1-4: Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Regarding to naming. Why can't we just name bus "serial"? If you are worrying about folder name under drivers/tty, I can propose at lease couple of options serialdev, serialbus. > > Rob > > [1] git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git > serial-bus-v2 > > Alan Cox (1): > tty_port: allow a port to be opened with a tty that has no file > handle > > Rob Herring (8): > tty: move the non-file related parts of tty_release to new > tty_release_struct > tty_port: make tty_port_register_device wrap > tty_port_register_device_attr > tty: constify tty_ldisc_receive_buf buffer pointer > tty_port: Add port client functions > dt/bindings: Add a serial/UART attached device binding > serdev: Introduce new bus for serial attached devices > serdev: add a tty port controller driver > tty_port: register tty ports with serdev bus > > .../devicetree/bindings/serial/slave-device.txt | 34 ++ > MAINTAINERS | 8 + > drivers/char/Kconfig | 1 + > drivers/tty/Makefile | 1 + > drivers/tty/serdev/Kconfig | 16 + > drivers/tty/serdev/Makefile | 5 + > drivers/tty/serdev/core.c | 388 > +++++++++++++++++++++ > drivers/tty/serdev/serdev-ttyport.c | 244 > +++++++++++++ > drivers/tty/tty_buffer.c | 19 +- > drivers/tty/tty_io.c | 44 ++- > drivers/tty/tty_port.c | 60 +++- > include/linux/serdev.h | 227 ++++++++++++ > include/linux/tty.h | 12 +- > 13 files changed, 1017 insertions(+), 42 deletions(-) > create mode 100644 Documentation/devicetree/bindings/serial/slave- > device.txt > create mode 100644 drivers/tty/serdev/Kconfig > create mode 100644 drivers/tty/serdev/Makefile > create mode 100644 drivers/tty/serdev/core.c > create mode 100644 drivers/tty/serdev/serdev-ttyport.c > create mode 100644 include/linux/serdev.h -- Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Intel Finland Oy -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html