Messages in this thread | | | Date | Mon, 15 Mar 2010 14:33:59 +0100 | From | Roel Kluin <> | Subject | Re: [PATCH] serial: Two branches the same in timbuart_set_mctrl() |
| |
Hi Richard,
>> if (mctrl& TIOCM_RTS) >> iowrite8(TIMBUART_CTRL_RTS, port->membase + TIMBUART_CTRL); >> else >> - iowrite8(TIMBUART_CTRL_RTS, port->membase + TIMBUART_CTRL); >> + iowrite8(TIMBUART_CTRL_CTS, port->membase + TIMBUART_CTRL); > > This is not completely correct. CTS is a read only bit and we are to > stop signal RTS. So the line should look like: > iowrite8(0, port->membase + TIMBUART_CTRL);
It appears as if this will also unset TIMBUART_CTRL_CTS (which is probably ok since it's read-only) but TIMBUART_CTRL_FLSHTX and TIMBUART_CTRL_FLSHRX as well. If undesired we need something like this:
iowrite8(ioread8(port->membase + TIMBUART_CTRL) & ~TIMBUART_CTRL_RTS, port->membase + TIMBUART_CTRL);
If not required I'll send the patch as you suggested.
Regards, Roel
| |