[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200704140646.66528-1-m.shams@samsung.com>
Date: Sat, 4 Jul 2020 19:36:46 +0530
From: Tamseel Shams <m.shams@...sung.com>
To: kgene@...nel.org, krzk@...nel.org, gregkh@...uxfoundation.org,
jslaby@...e.com
Cc: linux-arm-kernel@...ts.infradead.org,
linux-samsung-soc@...r.kernel.org, linux-serial@...r.kernel.org,
linux-kernel@...r.kernel.org, alim.akhtar@...sung.com,
Tamseel Shams <m.shams@...sung.com>
Subject: [PATCH v3] serial: samsung: Re-factors UART IRQ resource for
various Samsung SoC
In few older Samsung SoCs like s3c2410, s3c2412
and s3c2440, UART IP is having 2 interrupt lines.
However, in other SoCs like s3c6400, s5pv210,
exynos5433, and exynos4210 UART is having only 1
interrupt line. Due to this, "platform_get_irq(platdev, 1)"
call in the driver gives the following warning:
"IRQ index 1 not found" on recent platforms.
This patch re-factors the IRQ resources handling for
each platform and hence fixing the above warnings seen
on some platforms.
Signed-off-by: Tamseel Shams <m.shams@...sung.com>
---
Removed the logic of irq_cnt and directly using
s3c24xx_serial_has_interrupt_mask() to check for
number of interrupt lines.
drivers/tty/serial/samsung_tty.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/tty/serial/samsung_tty.c b/drivers/tty/serial/samsung_tty.c
index 6ef614d8648c..8a955f3d8975 100644
--- a/drivers/tty/serial/samsung_tty.c
+++ b/drivers/tty/serial/samsung_tty.c
@@ -1908,10 +1908,13 @@ static int s3c24xx_serial_init_port(struct s3c24xx_uart_port *ourport,
else {
port->irq = ret;
ourport->rx_irq = ret;
- ourport->tx_irq = ret + 1;
+ if (s3c24xx_serial_has_interrupt_mask(port))
+ ourport->tx_irq = ret;
+ else
+ ourport->tx_irq = ret + 1;
}
- ret = platform_get_irq(platdev, 1);
+ ret = platform_get_irq_optional(platdev, 1);
if (ret > 0)
ourport->tx_irq = ret;
/*
--
2.17.1
Powered by blists - more mailing lists