]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
serial: sh-sci: Add sci_is_rsci_type()
authorBiju Das <biju.das.jz@bp.renesas.com>
Sat, 29 Nov 2025 16:43:06 +0000 (16:43 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Dec 2025 14:07:07 +0000 (15:07 +0100)
Add sci_is_rsci_type() for RSCI port type. This will simplify the code
when the support added for RSCI_PORT_SCIF32 private PORT type.

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
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-11-biju.das.jz@bp.renesas.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/sh-sci.c

index 704f175b14e48f26c583b7c0afc89aac3df0a965..b7fef518a2b899fa98d8764eb261dc67cd6d28a1 100644 (file)
@@ -1182,6 +1182,11 @@ static int sci_handle_errors(struct uart_port *port)
        return copied;
 }
 
+static bool sci_is_rsci_type(u8 type)
+{
+       return (type == SCI_PORT_RSCI);
+}
+
 static int sci_handle_fifo_overrun(struct uart_port *port)
 {
        struct tty_port *tport = &port->state->port;
@@ -1190,7 +1195,7 @@ static int sci_handle_fifo_overrun(struct uart_port *port)
        int copied = 0;
        u32 status;
 
-       if (s->type != SCI_PORT_RSCI) {
+       if (!sci_is_rsci_type(s->type)) {
                reg = sci_getreg(port, s->params->overrun_reg);
                if (!reg->size)
                        return 0;
@@ -1198,7 +1203,7 @@ static int sci_handle_fifo_overrun(struct uart_port *port)
 
        status = s->ops->read_reg(port, s->params->overrun_reg);
        if (status & s->params->overrun_mask) {
-               if (s->type == SCI_PORT_RSCI) {
+               if (sci_is_rsci_type(s->type)) {
                        /*
                         * All of the CFCLR_*C clearing bits match the corresponding
                         * CSR_*status bits. So, reuse the overrun mask for clearing.
@@ -2015,7 +2020,7 @@ static irqreturn_t sci_tx_end_interrupt(int irq, void *ptr)
        unsigned long flags;
        u32 ctrl;
 
-       if (s->type != PORT_SCI && s->type != SCI_PORT_RSCI)
+       if (s->type != PORT_SCI && !sci_is_rsci_type(s->type))
                return sci_tx_interrupt(irq, ptr);
 
        uart_port_lock_irqsave(port, &flags);
@@ -3289,7 +3294,7 @@ static int sci_init_single(struct platform_device *dev,
         * The fourth interrupt on SCI and RSCI port is transmit end interrupt, so
         * shuffle the interrupts.
         */
-       if (p->type == PORT_SCI || p->type == SCI_PORT_RSCI)
+       if (p->type == PORT_SCI || sci_is_rsci_type(p->type))
                swap(sci_port->irqs[SCIx_BRI_IRQ], sci_port->irqs[SCIx_TEI_IRQ]);
 
        /* The SCI generates several interrupts. They can be muxed together or