Thread (50 messages) 50 messages, 7 authors, 2018-06-13

Re: [PATCH 1/4] serial: 8250: Copy em485 from port to real port.

From: Matwey V. Kornilov <hidden>
Date: 2018-06-06 18:55:45
Also in: lkml

2018-06-06 16:11 GMT+03:00 Andy Shevchenko [off-list ref]:
On Wed, 2018-06-06 at 14:15 +0200, Giulio Benetti wrote:
quoted
Il 06/06/2018 13:56, Andy Shevchenko ha scritto:
quoted
On Wed, 2018-06-06 at 11:49 +0200, Giulio Benetti wrote:
quoted
em485 gets lost during

Copy em485 to final uart port.
Is it needed at all?

The individual driver decides either to use software emulation (and
calls explicitly serial8250_em485_init() for that) or do HW assisted
stuff.
In 8250_dw.c, during probe(), I need to call dw8250_rs485_config()
against local struct uart_8250_port uart = {};
Inside serial8250_register_8250_port() not all uart fields are
copied(em485 too).
So after probe, em485 is NULL.

Another way could be to call dw8250_rs485_config() against real uart
port, after calling serial8250_register_8250_port(),
would it make sense?
Look at OMAP case closely. They have a callback to configure RS485 which
is called in uart_set_rs485_config()  which is called whenever user
space does TIOCGRS485 IOCTL.

So, it's completely driven by user space which makes sense by my
opinion.
AFAIU, Giulio wants to add support for rs485-enabled-at-boot-time
device tree option (see bindings/serial/rs485.txt for reference).
I suppose it is only important for use-case when rs485 used as slave
(peripheral role).
--
Andy Shevchenko [off-list ref]
Intel Finland Oy


-- 
With best regards,
Matwey V. Kornilov
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help