This patch series is an attempt to simplify rs485 implementation in drivers by moving the following tasks out of the drivers into the serial core: - ensure sane RTS settings: in case of an invalid configuration (both RTS after send and RTS on send set or both unset) enable RTS on send and disable RTS after send - nullify the padding field of the serial_rs485 struct before it is returned to userspace - copy the configuration stored in the serial_rs485 struct to the port configuration if setting the configuration in the driver was successfull - limit the RTS delay to 100ms Redundant code has been removed from the following drivers for now: - atmel - fsl_lpuart - amba - imx - max310x - omap-serial - sc16is7xx - stm32-usart The code has been tested with the amba pl011 driver. This series applies against Gregs tty-testing branch. Changes in v2: - use a makro for max RTS delays and comment it (as requested by Jiri) - add a comment concerning the memset of a structures padding field - correct typos in the commit message (found by Uwe) - rephrase all commit messages to make more clear that function uart_set_rs485_config() has been extended by checks and other functionalities (as requested by Uwe) Changes in v3: - add warning messages if the serial core corrects RS485 values (as requested by Lukas Wunner) - dont expose the macro for max RTS delays to userspace (as requested by Greg) Changes in v4: - use ratelimit warning messages and also print device, uart port name and line (as requested by Jiri)