[v6,0/7] Fixes and improvements for RS485

Message ID 20231225113524.8800-1-l.sanfilippo@kunbus.com
Headers
Series Fixes and improvements for RS485 |

Message

Lino Sanfilippo Dec. 25, 2023, 11:35 a.m. UTC
  The following series includes some fixes and improvements around RS485 in
the serial core and UART drivers:

Patch 1: Do not hold the port lock when setting rx-during-tx GPIO
Patch 2: set missing supported flag for RX during TX GPIO
Patch 3: fix sanitizing check for RTS settings
Patch 4: make sure RS485 is cannot be enabled when it is not supported
Patch 5: imx: do not set RS485 enabled if it is not supported
Patch 6: omap: do not override settings for rs485 support
Patch 7: exar: set missing RS485 supported flag

Changes in v6:
- restore RS485 GPIO settings if setting rs485 configuration fails
(pointed out by Ilpo)
- drop change for uart_get_rs485_config() 
- rephrase and correct commit messages (pointed out by Ilpo)
- remove unnecessary structure nullification (suggested by Ilpo)
- move all RS485 tasks into one function (suggested by Ilpo)

Changes in v5:

- do not combine the functions that set the RS484 GPIOs (as Hugo originally
  suggested)

Changes in v4:

- add comment for function uart_set_rs485_gpios after hint from Hugo
- correct commit message as pointed out by Hugo
- rephrase commit messages
- add patch 7 after discussion with Ilpo

Changes in v3
- Drop patch "Get rid of useless wrapper pl011_get_rs485_mode()" as
  requested by Greg

Changes in v2:
- add missing 'Fixes' tags as requested by Greg
- corrected a typo as pointed out by Hugo
- fix issue in imx driver in the serial core as suggested by Uwe
- partly rephrase some commit messages
- add patch 7


Lino Sanfilippo (7):
  serial: Do not hold the port lock when setting rx-during-tx GPIO
  serial: core: set missing supported flag for RX during TX GPIO
  serial: core: fix sanitizing check for RTS settings
  serial: core: make sure RS485 cannot be enabled when it is not
    supported
  serial: core, imx: do not set RS485 enabled if it is not supported
  serial: omap: do not override settings for RS485 support
  serial: 8250_exar: Set missing rs485_supported flag

 drivers/tty/serial/8250/8250_exar.c |  5 ++-
 drivers/tty/serial/imx.c            | 11 ------
 drivers/tty/serial/omap-serial.c    | 13 +++---
 drivers/tty/serial/serial_core.c    | 61 +++++++++++++++++++++++------
 drivers/tty/serial/stm32-usart.c    |  5 +--
 5 files changed, 59 insertions(+), 36 deletions(-)


base-commit: ceb6a6f023fd3e8b07761ed900352ef574010bcb