diff options
author | Claudio Scordino <claudio@evidence.eu.com> | 2011-01-13 15:45:39 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-01-13 17:32:31 -0800 |
commit | 5dfbd1d734ef5415bc47b034df7433ba21e40e7b (patch) | |
tree | 3fbe7a9997f20e6c7db040a2fc1da68b93c10302 | |
parent | 6c9ae009b298753a3baf71298d676a68b5a10c8f (diff) | |
download | linux-3.10-5dfbd1d734ef5415bc47b034df7433ba21e40e7b.tar.gz linux-3.10-5dfbd1d734ef5415bc47b034df7433ba21e40e7b.tar.bz2 linux-3.10-5dfbd1d734ef5415bc47b034df7433ba21e40e7b.zip |
atmel_serial: fix RTS high after initialization in RS485 mode
When working in RS485 mode, the atmel_serial driver keeps RTS high after
the initialization of the serial port. It goes low only after the first
character has been sent.
[akpm@linux-foundation.org: simplify code]
Signed-off-by: Claudio Scordino <claudio@evidence.eu.com>
Signed-off-by: Arkadiusz Bubala <arkadiusz.bubala@gmail.com>
Tested-by: Arkadiusz Bubala <arkadiusz.bubala@gmail.com>
Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | drivers/serial/atmel_serial.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/serial/atmel_serial.c b/drivers/serial/atmel_serial.c index 3892666b5fb..2a1d52fb493 100644 --- a/drivers/serial/atmel_serial.c +++ b/drivers/serial/atmel_serial.c @@ -1732,6 +1732,11 @@ static int __devinit atmel_serial_probe(struct platform_device *pdev) device_init_wakeup(&pdev->dev, 1); platform_set_drvdata(pdev, port); + if (port->rs485.flags & SER_RS485_ENABLED) { + UART_PUT_MR(&port->uart, ATMEL_US_USMODE_NORMAL); + UART_PUT_CR(&port->uart, ATMEL_US_RTSEN); + } + return 0; err_add_port: |