mbox series

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

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

Message

Lino Sanfilippo Jan. 5, 2024, 2:11 p.m. UTC
The following series includes some fixes and improvements around RS485 in
the serial core and UART drivers:

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

Changes in v8:
- remove wrong setting of SER_RS485_RX_DURING_TX introduced with patch
  version 7 (pointed out by Ilpo)
- fix commit message as pointed out by Ilpo

Changes in v7:
- fix errorneous condition in stm32 driver for setting the
  SER_RS485_RX_DURING_TX flag (pointed out by Maarten)
- fix compilation issue spotted by kernel test robot

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    | 27 +++++++------
 drivers/tty/serial/serial_core.c    | 61 +++++++++++++++++++++++------
 drivers/tty/serial/stm32-usart.c    |  5 +--
 5 files changed, 66 insertions(+), 43 deletions(-)


base-commit: 610a9b8f49fbcf1100716370d3b5f6f884a2835a

Comments

Greg KH Jan. 28, 2024, 3:10 a.m. UTC | #1
On Fri, Jan 05, 2024 at 03:11:46PM +0100, Lino Sanfilippo wrote:
> The following series includes some fixes and improvements around RS485 in
> the serial core and UART drivers:
> 
> Patch 1: serial: Do not hold the port lock when setting rx-during-tx GPIO
> Patch 2: serial: core: set missing supported flag for RX during TX GPIO
> Patch 3: serial: core: fix sanitizing check for RTS settings
> Patch 4: serial: core: make sure RS485 cannot be enabled when it is not
> supported
> Patch 5: serial: core, imx: do not set RS485 enabled if it is not supported
> Patch 6: serial: omap: do not override settings for RS485 support
> Patch 7: serial: 8250_exar: Set missing rs485_supported flag
> 
> Changes in v8:
> - remove wrong setting of SER_RS485_RX_DURING_TX introduced with patch
>   version 7 (pointed out by Ilpo)
> - fix commit message as pointed out by Ilpo

Aren't these already in the tree?  None of them apply, what am I doing
wrong?

confused,

greg k-h
Lino Sanfilippo Jan. 29, 2024, 2:39 a.m. UTC | #2
Hi,

On 28.01.24 04:10, Greg KH wrote:
> ATTENTION: This e-mail is from an external sender. Please check attachments and links before opening e.g. with mouseover.
> 
> 
> On Fri, Jan 05, 2024 at 03:11:46PM +0100, Lino Sanfilippo wrote:
>> The following series includes some fixes and improvements around RS485 in
>> the serial core and UART drivers:
>>
>> Patch 1: serial: Do not hold the port lock when setting rx-during-tx GPIO
>> Patch 2: serial: core: set missing supported flag for RX during TX GPIO
>> Patch 3: serial: core: fix sanitizing check for RTS settings
>> Patch 4: serial: core: make sure RS485 cannot be enabled when it is not
>> supported
>> Patch 5: serial: core, imx: do not set RS485 enabled if it is not supported
>> Patch 6: serial: omap: do not override settings for RS485 support
>> Patch 7: serial: 8250_exar: Set missing rs485_supported flag
>>
>> Changes in v8:
>> - remove wrong setting of SER_RS485_RX_DURING_TX introduced with patch
>>   version 7 (pointed out by Ilpo)
>> - fix commit message as pointed out by Ilpo
> 
> Aren't these already in the tree?  None of them apply, what am I doing
> wrong?
> 
> confused,
> 
> greg k-h


Right, the series is already applied. However patch 1 - 
07c30ea5861f (" serial: Do not hold the port lock when setting rx-during-tx GPIO") -
still contains a flaw which is why I sent a v8 to correct that. I sent it a bit too late
obviously, sorry for that.
You can ignore series v8 and instead I can send a follow up patch that corrects the flaw.

Again, sorry for the confusion.

Regards,
Lino