All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/4] tty: serial: uartlite: Disable changing fixed parameters
@ 2021-07-27 22:17 Sean Anderson
  2021-07-27 22:17 ` [PATCH v2 1/4] dt-bindings: serial: uartlite: Convert to json-schema Sean Anderson
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Sean Anderson @ 2021-07-27 22:17 UTC (permalink / raw)
  To: Peter Korsgaard, Peter Korsgaard, linux-serial
  Cc: Greg Kroah-Hartman, Michal Simek, Shubhrajyoti Datta,
	Alexander Sverdlin, Sean Anderson, Rich Felker, Rob Herring,
	Yoshinori Sato, devicetree

The uartlite device is a "soft" device and certain parameters (such as
data bits, parity, and baud) are configured at synthesis time, and
cannot be discovered at runtime. Fortunately, bindings for this device
typically include some of these parameters (especially baud rate).
Instead of silently letting Linux's termios drift away from what the
hardware is actually doing, make the termios reflect the hardware, and
prevent them from being changed. With this series applied, the user
recieves an error message the first time they try and change these
termios:

    # stty parity
    [    7.221696] uartlite 84000000.serial: only 'n' parity supported
    [    7.222139] uartlite 84000000.serial: only 8 data bits supported
    stty: standard input: cannot perform all requested operations

In addition, the configured baud/parity/bits/etc. are exposed through
the standard termios ioctls, instead of using the default termios for
unconfigured ttys.

Changes in v2:
- Compare the baud computed with uart_get_baud_rate to pdata->baud,
  instead of just checking c_cflag. This will catch anything that messes
  with ispeed and ospeed.
- Don't bother trying to set the initial termios. Instead, just skip
  warning if old is NULL.
- Because we no longer use uart_set_options, just convert the devicetree
  properties directly to clflags.

Sean Anderson (4):
  dt-bindings: serial: uartlite: Convert to json-schema
  dt-bindings: serial: uartlite: Add properties for synthesis-time
    parameters
  sh: j2: Update uartlite binding with data and parity properties
  tty: serial: uartlite: Prevent changing fixed parameters

 .../bindings/serial/xlnx,opb-uartlite.txt     |  23 ----
 .../bindings/serial/xlnx,opb-uartlite.yaml    |  92 ++++++++++++++
 arch/sh/boot/dts/j2_mimas_v2.dts              |   2 +
 drivers/tty/serial/uartlite.c                 | 120 ++++++++++++++++--
 4 files changed, 203 insertions(+), 34 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/serial/xlnx,opb-uartlite.txt
 create mode 100644 Documentation/devicetree/bindings/serial/xlnx,opb-uartlite.yaml

-- 
2.25.1


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

end of thread, other threads:[~2021-08-02 21:50 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-27 22:17 [PATCH v2 0/4] tty: serial: uartlite: Disable changing fixed parameters Sean Anderson
2021-07-27 22:17 ` [PATCH v2 1/4] dt-bindings: serial: uartlite: Convert to json-schema Sean Anderson
2021-08-02 20:57   ` Rob Herring
2021-07-27 22:17 ` [PATCH v2 2/4] dt-bindings: serial: uartlite: Add properties for synthesis-time parameters Sean Anderson
2021-08-02 21:24   ` Rob Herring
2021-08-02 21:50     ` Sean Anderson
2021-07-27 22:17 ` [PATCH v2 3/4] sh: j2: Update uartlite binding with data and parity properties Sean Anderson
2021-07-27 22:17 ` [PATCH v2 4/4] tty: serial: uartlite: Prevent changing fixed parameters Sean Anderson

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.