All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Hugo Villeneuve <hugo@hugovil.com>
Cc: Jiri Slaby <jirislaby@kernel.org>,
	ilpo.jarvinen@linux.intel.com, linux-kernel@vger.kernel.org,
	linux-serial@vger.kernel.org,
	Hugo Villeneuve <hvilleneuve@dimonoff.com>
Subject: Re: [PATCH v3 00/10] serial: add new I/O type for SPI and I2C bus devices
Date: Fri, 10 Jul 2026 14:50:38 +0200	[thread overview]
Message-ID: <2026071029-repulsion-oasis-06cb@gregkh> (raw)
In-Reply-To: <20260521-tty-upio-v3-0-bf74567994a0@dimonoff.com>

On Thu, May 21, 2026 at 02:16:46PM -0400, Hugo Villeneuve wrote:
> Hello,
> this patch series add a new I/O type for serial devices on a SPI/I2C bus,
> and a few related cleanups/improvements.
> 
> These changes are based on a suggestion [1] made by Ilpo Järvinen during
> past sc16is7xx driver patches review.
> 
> The first patches make use of uart_iotype_*() functions to simplify and
> cleanup the UART report functions.
> 
> This cleanup sets the stage to avoid displaying irrelevant MMIO or legacy
> I/O information for serial devices on I2C or SPI busses when we add the new
> UPIO_BUS type.
> 
> Tested on a imx6 board with two SC16is752 using SPI mode, and a dummy
> device-tree entry for a MAX3100:
>   dmesg -t | grep "base_baud"
>     2020000.serial: ttymxc0 MMIO:0x02020000 (irq = 197, base_baud = 5000000) is a IMX
>     21e8000.serial: ttymxc1 MMIO:0x021e8000 (irq = 198, base_baud = 5000000) is a IMX
>     spi1.0: ttySC0 (irq = 165, base_baud = 1500000) is a SC16IS752
>     spi1.0: ttySC1 (irq = 165, base_baud = 1500000) is a SC16IS752
>     spi3.0: ttySC2 (irq = 37, base_baud = 1500000) is a SC16IS752
>     spi3.0: ttySC3 (irq = 37, base_baud = 1500000) is a SC16IS752
>     spi3.1: ttyMAX0 (irq = 0, base_baud = 0) is a MAX3100
> Note that before these patches, max3100 silently failed in uart_configure_port()
> because membase/iobase/mapbase were zero.
> 
> For max310x and SC16is7xx in i2c mode, tested only that driver is properly
> registered by using i2c-stub.
> 
> Also tested on a custom board with a Renesas RZ/G2L cpu (sh-sci driver) to
> confirm there is no regression (also with earlycon):
>   dmesg -t | grep "MMIO"
>     earlycon: scif0 MMIO:0x000000001004b800 (options '115200n8')
>     1004b800.serial: ttySC0 MMIO:0x000000001004b800 (irq = 35, base_baud = 0) is a scif
>     1004bc00.serial: ttySC1 MMIO:0x000000001004bc00 (irq = 40, base_baud = 0) is a scif
> 
> Thank you.
> 
> [1] https://lore.kernel.org/lkml/2936e18f-44ea-faed-9fa0-2ddefe7c3194@linux.intel.com/raw
> 
> Link: [v1] https://lore.kernel.org/all/20260423-tty-upio-v1-0-baf82d3b86d1@dimonoff.com/
> Link: [v2] https://lore.kernel.org/all/20260428-tty-upio-v2-0-01c1857cf761@dimonoff.com/
> 
> Changes for v3:
> - Rename uart_iotype_legacy_io() -> uart_iotype_io() (Andy)
> - Merge patches 15, 4, 5, 6, 7 and 8
> 
> Changes for v2:
> - Replace snprintf with scnprintf (Ilpo)
> - Fix alignment of : to ? (Ilpo)
> - Move hub6 match port to 8250_hub6.c (Ilpo)
> - earlycon: use uart_iotype_*()
> - 8250_rsa: use uart_iotype_*()
> - 8250_port: use uart_iotype_*() in serial_port_out_sync()
> - simplified uart_line_info() even more and remove intermediate mmio
>   variable
> - Split and rename patch serial: core: prevent irrelevant I/O infos display
>   for UPIO_BUS to serial: core: use uart_iotype_*() to simplify
>   uart_report_port() and moved before UPIO_BUS patch.
> - Add a new patch to implement a function to uniformize the display
>   of I/O infos for uart_report_port(), uart_line_info() and
>   earlycon_print_info(). If accepted could be better integrated/merged with
>   the next series submission. If not, can simply be dropped.
> - Add patch for uart_regiowidth_to_iotype()
> 
> ---
> Hugo Villeneuve (10):
>       serial: 8250_hub6: add hub6_match_port()
>       serial: core: add uart_iotype_mmio/io helper functions
>       serial: core: use uart_iotype_*() to simplify uart_match_port()
>       serial: uniformize serial port I/O infos display
>       serial: 8250: use uart_iotype_*() to simplify code
>       serial: 8250_rsa: use uart_iotype_*() to simplify code
>       serial: core: add new I/O type for SPI and I2C bus devices
>       serial: sc16is7xx: use new UPIO_BUS as iotype
>       serial: max310x: use new UPIO_BUS as iotype
>       serial: max3100: use new UPIO_BUS as iotype
> 
>  drivers/tty/serial/8250/8250.h      |   7 ++
>  drivers/tty/serial/8250/8250_hub6.c |   6 ++
>  drivers/tty/serial/8250/8250_port.c |  43 ++----------
>  drivers/tty/serial/8250/8250_rsa.c  |  40 +++++------
>  drivers/tty/serial/earlycon.c       |  17 ++---
>  drivers/tty/serial/max3100.c        |   1 +
>  drivers/tty/serial/max310x.c        |   9 +--
>  drivers/tty/serial/sc16is7xx.c      |   9 +--
>  drivers/tty/serial/serial_core.c    | 135 +++++++++++++++++++++---------------
>  include/linux/serial_core.h         |   6 ++
>  include/uapi/linux/serial.h         |   1 +
>  11 files changed, 135 insertions(+), 139 deletions(-)

Nice work, all now queued up.

greg k-h

      parent reply	other threads:[~2026-07-10 12:50 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-21 18:16 [PATCH v3 00/10] serial: add new I/O type for SPI and I2C bus devices Hugo Villeneuve
2026-05-21 18:16 ` [PATCH v3 01/10] serial: 8250_hub6: add hub6_match_port() Hugo Villeneuve
2026-05-21 18:16 ` [PATCH v3 02/10] serial: core: add uart_iotype_mmio/io helper functions Hugo Villeneuve
2026-05-21 18:16 ` [PATCH v3 03/10] serial: core: use uart_iotype_*() to simplify uart_match_port() Hugo Villeneuve
2026-05-21 18:16 ` [PATCH v3 04/10] serial: uniformize serial port I/O infos display Hugo Villeneuve
2026-07-14  9:59   ` Geert Uytterhoeven
2026-07-14 14:40     ` Hugo Villeneuve
2026-07-14 14:57       ` Geert Uytterhoeven
2026-07-14 15:02         ` Hugo Villeneuve
2026-05-21 18:16 ` [PATCH v3 05/10] serial: 8250: use uart_iotype_*() to simplify code Hugo Villeneuve
2026-05-21 18:16 ` [PATCH v3 06/10] serial: 8250_rsa: " Hugo Villeneuve
2026-05-21 18:16 ` [PATCH v3 07/10] serial: core: add new I/O type for SPI and I2C bus devices Hugo Villeneuve
2026-05-21 18:16 ` [PATCH v3 08/10] serial: sc16is7xx: use new UPIO_BUS as iotype Hugo Villeneuve
2026-05-21 18:16 ` [PATCH v3 09/10] serial: max310x: " Hugo Villeneuve
2026-05-21 18:16 ` [PATCH v3 10/10] serial: max3100: " Hugo Villeneuve
2026-07-10 12:50 ` Greg Kroah-Hartman [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2026071029-repulsion-oasis-06cb@gregkh \
    --to=gregkh@linuxfoundation.org \
    --cc=hugo@hugovil.com \
    --cc=hvilleneuve@dimonoff.com \
    --cc=ilpo.jarvinen@linux.intel.com \
    --cc=jirislaby@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.