Re: [Gta04-owner] [PATCH 0/3] tty slave device support - version 3.
From: Dr. H. Nikolaus Schaller <hidden>
Date: 2015-03-20 07:54:56
Also in:
lkml
Hi Neil, Am 18.03.2015 um 06:58 schrieb NeilBrown [off-list ref]:
Hi again, here is version 3 of support for tty-slaves. This version introduces a new bus-type for tty-slaves,
Hm. I am still not convinced that a tty is a „bus“ and that this is a solution for a wide-spread problem.
and causes a tty-slave device to appear in /sys/devices between the uart and the tty. It effectively intercepts and calls from the tty to the uart (i.e. any tty_operations) and applies extra functionality at that point.
Currently the only driver intercepts open and close. It powers on the device on open, and powers off at last-close.
That is what the missing piece in Linux is to make the w2sg0004 chip work.
Power can be controlled by a regulator or by toggling a GPIO.
I think such a GPIO logic has nothing to do with serial and should be left over to the regulator logic, i.e. we need a special regulator-w2sg0004 driver. So I suggest to remove the GPIO logic from your drivers/tty/slave/serial-power-manager.c And then you can even get rid of adding a chip specific „compatible“ entry for the subnodes.
I think I've incorporated most of the feed back I received from previous versions, but if I missed something - I apologize. If this approach is structurally acceptable then I can fix up all the smaller issues.
As said I would prefer that the w2sg0004 driver is just a separate „regulator“ driver as we had proposed before. Nikolaus
Thanks for your review,
NeilBrown
---
NeilBrown (3):
TTY: use class_find_device to find port in uart_suspend/resume.
TTY: add support for tty_slave devices.
tty/slaves: add a driver to power on/off UART attached devices.
.../bindings/tty_slave/wi2wi,w2cbw003.txt | 19 +
.../bindings/tty_slave/wi2wi,w2sg0004.txt | 37 +
.../devicetree/bindings/vendor-prefixes.txt | 1
drivers/tty/Kconfig | 1
drivers/tty/Makefile | 1
drivers/tty/serial/serial_core.c | 21 -
drivers/tty/slave/Kconfig | 21 +
drivers/tty/slave/Makefile | 4
drivers/tty/slave/serial-power-manager.c | 510 ++++++++++++++++++++
drivers/tty/slave/tty_slave_core.c | 136 +++++
drivers/tty/tty_io.c | 60 ++
include/linux/tty.h | 2
include/linux/tty_slave.h | 26 +
13 files changed, 813 insertions(+), 26 deletions(-)
create mode 100644 Documentation/devicetree/bindings/tty_slave/wi2wi,w2cbw003.txt
create mode 100644 Documentation/devicetree/bindings/tty_slave/wi2wi,w2sg0004.txt
create mode 100644 drivers/tty/slave/Kconfig
create mode 100644 drivers/tty/slave/Makefile
create mode 100644 drivers/tty/slave/serial-power-manager.c
create mode 100644 drivers/tty/slave/tty_slave_core.c
create mode 100644 include/linux/tty_slave.h
--
Signature
_______________________________________________
Gta04-owner mailing list
Gta04-owner@goldelico.com
http://lists.goldelico.com/mailman/listinfo.cgi/gta04-owner