| From 8c6c378b0cbe0c9f1390986b5f8ffb5f6ff7593b Mon Sep 17 00:00:00 2001 |
| From: Tamseel Shams <m.shams@samsung.com> |
| Date: Mon, 10 Aug 2020 08:30:21 +0530 |
| Subject: serial: samsung: Removes the IRQ not found warning |
| |
| From: Tamseel Shams <m.shams@samsung.com> |
| |
| commit 8c6c378b0cbe0c9f1390986b5f8ffb5f6ff7593b upstream. |
| |
| 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 false-positive error: |
| "IRQ index 1 not found" on newer SoC's. |
| |
| This patch adds the condition to check for Tx interrupt |
| only for the those SoC's which have 2 interrupt lines. |
| |
| Tested-by: Alim Akhtar <alim.akhtar@samsung.com> |
| Tested-by: Marek Szyprowski <m.szyprowski@samsung.com> |
| Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org> |
| Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com> |
| Signed-off-by: Tamseel Shams <m.shams@samsung.com> |
| Cc: stable <stable@vger.kernel.org> |
| Link: https://lore.kernel.org/r/20200810030021.45348-1-m.shams@samsung.com |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/tty/serial/samsung.c | 8 +++++--- |
| 1 file changed, 5 insertions(+), 3 deletions(-) |
| |
| --- a/drivers/tty/serial/samsung.c |
| +++ b/drivers/tty/serial/samsung.c |
| @@ -1725,9 +1725,11 @@ static int s3c24xx_serial_init_port(stru |
| ourport->tx_irq = ret + 1; |
| } |
| |
| - ret = platform_get_irq(platdev, 1); |
| - if (ret > 0) |
| - ourport->tx_irq = ret; |
| + if (!s3c24xx_serial_has_interrupt_mask(port)) { |
| + ret = platform_get_irq(platdev, 1); |
| + if (ret > 0) |
| + ourport->tx_irq = ret; |
| + } |
| /* |
| * DMA is currently supported only on DT platforms, if DMA properties |
| * are specified. |