[PATCH V2 2/3] tty: serial: fsl_lpuart: remove RTS/CTS control from set/get_mctrl
bhuvanchandra.dv at toradex.com
Mon Jun 8 00:25:45 PDT 2015
On 06/08/2015 12:11 PM, Uwe Kleine-König wrote:
> On Mon, Jun 01, 2015 at 10:51:06AM +0530, Bhuvanchandra DV wrote:
>> The LPUART does not provide manual control of RTS/CTS signals,
>> those can only be controlled by the hardware directly. Therefore
>> manual control of those signals through mctrl can not be provided.
>> The current implementation enables/disables the automatic control,
>> which is not what mctrl should do, hence remove the incorrect
>> Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv at toradex.com>
>> drivers/tty/serial/fsl_lpuart.c | 63 +++++------------------------------------
>> 1 file changed, 7 insertions(+), 56 deletions(-)
>> diff --git a/drivers/tty/serial/fsl_lpuart.c b/drivers/tty/serial/fsl_lpuart.c
>> index 08ce76f..532cfb7 100644
>> --- a/drivers/tty/serial/fsl_lpuart.c
>> +++ b/drivers/tty/serial/fsl_lpuart.c
>> @@ -822,64 +822,15 @@ static unsigned int lpuart32_tx_empty(struct uart_port *port)
>> static unsigned int lpuart_get_mctrl(struct uart_port *port)
>> - unsigned int temp = 0;
>> - unsigned char reg;
>> - reg = readb(port->membase + UARTMODEM);
>> - if (reg & UARTMODEM_TXCTSE)
>> - temp |= TIOCM_CTS;
>> - if (reg & UARTMODEM_RXRTSE)
>> - temp |= TIOCM_RTS;
>> - return temp;
> From reading the commit log I would expect that you only touch the
> set_mctrl function, but not get_mctrl. Assuming your code change is
> right, can you mention this in the commit log please? The bits
> UARTMODEM_TXCTSE and UARTMODEM_RXRTSE only control the automatic mode?
OK, will use 'get/set_mctrl' instead of 'mctrl' in the commit log.
Yes, those bits are only responsible for enabling/disabling the auto
hardware flow control, not for controlling the RTS/CTS signals directly.
> What is the problem you're fixing here? I'm not sure how such an UART
> should be handled, but I imagine that you want to make use of automatic
> mode in some cases. Greg?
Fixing the implementation of hardware flow control wrt LPUART hardware.
> Best regards
More information about the linux-arm-kernel