[RFT PATCH v5] serial: samsung: Removes the IRQ not found warning

Alim Akhtar alim.akhtar at samsung.com
Mon Aug 10 12:26:52 EDT 2020


Hi Tamseel,

> -----Original Message-----
> From: Tamseel Shams <m.shams at samsung.com>
> Sent: 10 August 2020 08:30
> To: kgene at kernel.org; krzk at kernel.org; gregkh at linuxfoundation.org;
> jslaby at suse.com
> Cc: linux-arm-kernel at lists.infradead.org; linux-samsung-soc at vger.kernel.org;
> linux-serial at vger.kernel.org; linux-kernel at vger.kernel.org;
> alim.akhtar at samsung.com; Tamseel Shams <m.shams at samsung.com>
> Subject: [RFT PATCH v5] serial: samsung: Removes the IRQ not found warning
> 
> 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.
> 
> Signed-off-by: Tamseel Shams <m.shams at samsung.com>
> ---
Tested on exynos7 platform, don’t see " IRQ index 1 not found" with this patch applied
Fill free to added 
Tested-by: Alim Akhtar <alim.akhtar at samsung.com>
Reviewed-by: Alim Akhtar <alim.akhtar at samsung.com>

> Commit message is changed.
> 
> Added RFT, for older platform.
> 
> Addressed Krzysztof's review comments [1] [1] ->
> https://lkml.org/lkml/2020/7/21/150
> 
>  drivers/tty/serial/samsung_tty.c | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/tty/serial/samsung_tty.c b/drivers/tty/serial/samsung_tty.c
> index 6ef614d8648c..b923683e6a25 100644
> --- a/drivers/tty/serial/samsung_tty.c
> +++ b/drivers/tty/serial/samsung_tty.c
> @@ -1911,9 +1911,11 @@ static int s3c24xx_serial_init_port(struct
> s3c24xx_uart_port *ourport,
>  		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.
> --
> 2.17.1






More information about the linux-arm-kernel mailing list