All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v8 0/6] Add RS485 9th bit addressing mode support to DW UART
@ 2022-06-20  6:40 Ilpo Järvinen
  2022-06-20  6:40 ` [PATCH v8 1/6] serial: 8250: make saved LSR larger Ilpo Järvinen
                   ` (5 more replies)
  0 siblings, 6 replies; 11+ messages in thread
From: Ilpo Järvinen @ 2022-06-20  6:40 UTC (permalink / raw)
  To: linux-serial, Greg KH, Jiri Slaby
  Cc: Andy Shevchenko, Lukas Wunner, Uwe Kleine-König,
	Lino Sanfilippo, Ilpo Järvinen, Arnd Bergmann, linux-api,
	linux-arch

This patchset adds RS-485 9th bit addressing mode support to the DW
UART driver and the necessary serial core bits to handle it. The
addressing mode is configured through ->rs485_config() as was requested
during the review of the earlier versions. The line configuration
related ADDRB is still kept in ktermios->c_cflag to be able to take
account the extra addressing bit while calculating timing, etc. but it
is set/cleared by ->rs485_config().

Cc: Arnd Bergmann <arnd@arndb.de>
Cc: linux-api@vger.kernel.org
Cc: linux-arch@vger.kernel.org

v7 -> v8:
- Use anonymous union/struct in serial_rs485 to create "v2" of it
- Remove a stray newline change
- Reorder local var declarations
- Put ktermios param before serial_rs485 for rs485_config

v6 -> v7:
- Fixed typos in documentation & comment
- Changes lsr typing from unsigned int to u16

v5 -> v6:
- Reorder remaining patches
- LSR changes are simpler due to helper added by LSR fix series
- Depend on rs485_struct sanitization on catching much of invalid config
- In order to be able to alter ADDRB in termios .c_cflag within
  .rs485_config(), take termios_rwsem and pass ktermios to it.
- Moved addressing mode setup entirely into .rs485_config()
- Use ndelay() instead of udelay() (uart_port->frame_time is in nsecs)


Ilpo Järvinen (6):
  serial: 8250: make saved LSR larger
  serial: 8250: create lsr_save_mask
  serial: 8250_lpss: Use 32-bit reads
  serial: take termios_rwsem for ->rs485_config() & pass termios as
    param
  serial: Support for RS-485 multipoint addresses
  serial: 8250_dwlib: Support for 9th bit multipoint addressing

 Documentation/driver-api/serial/driver.rst    |   2 +
 .../driver-api/serial/serial-rs485.rst        |  26 ++++-
 drivers/tty/serial/8250/8250.h                |   9 +-
 drivers/tty/serial/8250/8250_core.c           |   4 +
 drivers/tty/serial/8250/8250_dw.c             |   2 +-
 drivers/tty/serial/8250/8250_dwlib.c          | 105 +++++++++++++++++-
 drivers/tty/serial/8250/8250_exar.c           |  11 +-
 drivers/tty/serial/8250/8250_fintek.c         |   2 +-
 drivers/tty/serial/8250/8250_fsl.c            |   2 +-
 drivers/tty/serial/8250/8250_ingenic.c        |   2 +-
 drivers/tty/serial/8250/8250_lpc18xx.c        |   2 +-
 drivers/tty/serial/8250/8250_lpss.c           |   2 +-
 drivers/tty/serial/8250/8250_omap.c           |   7 +-
 drivers/tty/serial/8250/8250_pci.c            |   2 +-
 drivers/tty/serial/8250/8250_port.c           |  20 ++--
 drivers/tty/serial/amba-pl011.c               |   2 +-
 drivers/tty/serial/ar933x_uart.c              |   2 +-
 drivers/tty/serial/atmel_serial.c             |   2 +-
 drivers/tty/serial/fsl_lpuart.c               |   4 +-
 drivers/tty/serial/imx.c                      |   2 +-
 drivers/tty/serial/max310x.c                  |   2 +-
 drivers/tty/serial/mcf.c                      |   3 +-
 drivers/tty/serial/omap-serial.c              |   3 +-
 drivers/tty/serial/sc16is7xx.c                |   2 +-
 drivers/tty/serial/serial_core.c              |  28 ++++-
 drivers/tty/serial/stm32-usart.c              |   2 +-
 drivers/tty/tty_ioctl.c                       |   4 +
 include/linux/serial_8250.h                   |   7 +-
 include/linux/serial_core.h                   |   1 +
 include/uapi/asm-generic/termbits-common.h    |   1 +
 include/uapi/linux/serial.h                   |  20 +++-
 31 files changed, 230 insertions(+), 53 deletions(-)

-- 
2.30.2


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2022-06-20 11:48 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-06-20  6:40 [PATCH v8 0/6] Add RS485 9th bit addressing mode support to DW UART Ilpo Järvinen
2022-06-20  6:40 ` [PATCH v8 1/6] serial: 8250: make saved LSR larger Ilpo Järvinen
2022-06-20  6:40 ` [PATCH v8 2/6] serial: 8250: create lsr_save_mask Ilpo Järvinen
2022-06-20  6:40 ` [PATCH v8 3/6] serial: 8250_lpss: Use 32-bit reads Ilpo Järvinen
2022-06-20  6:40 ` [PATCH v8 4/6] serial: take termios_rwsem for ->rs485_config() & pass termios as param Ilpo Järvinen
2022-06-20  6:40   ` Ilpo Järvinen
2022-06-20  6:40 ` [PATCH v8 5/6] serial: Support for RS-485 multipoint addresses Ilpo Järvinen
2022-06-20 10:58   ` Andy Shevchenko
2022-06-20 11:26     ` Ilpo Järvinen
2022-06-20 11:48       ` Andy Shevchenko
2022-06-20  6:40 ` [PATCH v8 6/6] serial: 8250_dwlib: Support for 9th bit multipoint addressing Ilpo Järvinen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.