[PATCH v1 2/2] LRW UART: serial: add driver for the LRW UART
Krzysztof Kozlowski
krzk at kernel.org
Fri Feb 13 02:02:57 PST 2026
On 13/02/2026 10:33, LiuQingtao wrote:
> From: Wenhong Liu <liu.wenhong35 at zte.com.cn>
>
> This commit introduces a serial driver for the LRW UART controller
Please do not use "This commit/patch/change", but imperative mood. See
longer explanation here:
https://elixir.bootlin.com/linux/v6.16/source/Documentation/process/submitting-patches.rst#L94
>
> Key features implemented:
> - Support for FIFO mode (16-byte depth)
> - Baud rate configuration
> - Standard asynchronous communication formats:
> * Data bits: 5, 6, 7, 8, 9 bits
> * Parity: odd, even, fixed, none
> * Stop bits: 1 or 2 bits
> - Hardware flow control (RTS/CTS)
> - Multiple interrupt reporting mechanisms
>
> Signed-off-by: Wenhong Liu <liu.wenhong35 at zte.com.cn>
> Signed-off-by: Qingtao Liu <liu.qingtao2 at zte.com.cn>
Mismatched DCO/SoB.
Run checkpatch on your code.
> ---
> MAINTAINERS | 3 +
> drivers/tty/serial/Kconfig | 33 +
> drivers/tty/serial/Makefile | 1 +
> drivers/tty/serial/lrw_uart.c | 2822 ++++++++++++++++++++++++++++++
> include/uapi/linux/serial_core.h | 3 +
> 5 files changed, 2862 insertions(+)
> create mode 100644 drivers/tty/serial/lrw_uart.c
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index ad6acbe24544..a97fbd205f75 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -15041,6 +15041,9 @@ R: Qingtao Liu <liu.qingtao2 at zte.com.cn>
> L: linux-serial at vger.kernel.org
> S: Maintained
> F: Documentation/devicetree/bindings/serial/lrw,lrw-uart.yaml
> +F: drivers/tty/serial/Kconfig
> +F: drivers/tty/serial/Makefile
Why do you claim you maintain these files?
> +F: drivers/tty/serial/lrw_uart.c
>
...
> +
> +static int lrw_uart_probe(struct platform_device *pdev)
> +{
> + struct lrw_uart_port *sup;
> + struct resource *r;
> + int portnr, ret;
> + unsigned int clk;
> + unsigned int baudrate;
> +
> + /*
> + * Check the mandatory baud rate parameter in the DT node early
> + * so that we can easily exit with the error.
> + */
> + if (pdev->dev.of_node) {
> + struct device_node *np = pdev->dev.of_node;
> +
> + ret = of_property_read_u32(np, "current-speed", &baudrate);
Test your code/DTS - there is no such property allowed and you would see
warnings on DTS.
Best regards,
Krzysztof
More information about the linux-riscv
mailing list