]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
serial: sh-sci: Add finish_console_write() callback
authorBiju Das <biju.das.jz@bp.renesas.com>
Sat, 29 Nov 2025 16:43:11 +0000 (16:43 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Dec 2025 14:07:07 +0000 (15:07 +0100)
Add finish_console_write() callback as RZ/G3E RSCI IP needs special
handling compared to other SoCs.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Tested-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Link: https://patch.msgid.link/20251129164325.209213-16-biju.das.jz@bp.renesas.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/sh-sci-common.h
drivers/tty/serial/sh-sci.c

index 976e394ab9686aa6bf77c98b93817bb9fd223bfb..f363a659c46a04e7a05847f4966553fffad724e3 100644 (file)
@@ -93,6 +93,7 @@ struct sci_port_ops {
        void (*shutdown_complete)(struct uart_port *port);
 
        void (*prepare_console_write)(struct uart_port *port, u32 ctrl);
+       void (*finish_console_write)(struct uart_port *port, u32 ctrl);
        void (*console_save)(struct uart_port *port);
        void (*console_restore)(struct uart_port *port);
        size_t (*suspend_regs_size)(void);
index e2ba752f9c16ae3fa9225545530ac91e28e4ff03..8f3314b258d691f300ec8e6abb8ac84d0ba46313 100644 (file)
@@ -3431,7 +3431,10 @@ static void serial_console_write(struct console *co, const char *s,
                cpu_relax();
 
        /* restore the SCSCR */
-       sci_port->ops->write_reg(port, regs->control, ctrl);
+       if (sci_port->ops->finish_console_write)
+               sci_port->ops->finish_console_write(port, ctrl);
+       else
+               sci_port->ops->write_reg(port, regs->control, ctrl);
 
        if (locked)
                uart_port_unlock_irqrestore(port, flags);