linux-serial.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] serial: 8250_mtk: Switch to use platform_get_irq()
@ 2020-06-18 12:29 Andy Shevchenko
  2020-06-22  9:01 ` Matthias Brugger
  0 siblings, 1 reply; 2+ messages in thread
From: Andy Shevchenko @ 2020-06-18 12:29 UTC (permalink / raw)
  To: Greg Kroah-Hartman, linux-serial, Matthias Brugger; +Cc: Andy Shevchenko

platform_get_irq() provides an established error code and error message.
Also, it's better to use dedicated API to retrieve Linux IRQ resource.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
v2: rebase on clean tree
 drivers/tty/serial/8250/8250_mtk.c | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/drivers/tty/serial/8250/8250_mtk.c b/drivers/tty/serial/8250/8250_mtk.c
index f839380c2f4c..685ded99fa6d 100644
--- a/drivers/tty/serial/8250/8250_mtk.c
+++ b/drivers/tty/serial/8250/8250_mtk.c
@@ -494,13 +494,17 @@ static int mtk8250_probe_of(struct platform_device *pdev, struct uart_port *p,
 static int mtk8250_probe(struct platform_device *pdev)
 {
 	struct uart_8250_port uart = {};
-	struct resource *regs = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	struct resource *irq = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
 	struct mtk8250_data *data;
-	int err;
+	struct resource *regs;
+	int irq, err;
+
+	irq = platform_get_irq(pdev, 0);
+	if (irq < 0)
+		return irq;
 
-	if (!regs || !irq) {
-		dev_err(&pdev->dev, "no registers/irq defined\n");
+	regs = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+	if (!regs) {
+		dev_err(&pdev->dev, "no registers defined\n");
 		return -EINVAL;
 	}
 
@@ -524,7 +528,7 @@ static int mtk8250_probe(struct platform_device *pdev)
 
 	spin_lock_init(&uart.port.lock);
 	uart.port.mapbase = regs->start;
-	uart.port.irq = irq->start;
+	uart.port.irq = irq;
 	uart.port.pm = mtk8250_do_pm;
 	uart.port.type = PORT_16550;
 	uart.port.flags = UPF_BOOT_AUTOCONF | UPF_FIXED_PORT;
-- 
2.27.0.rc2


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH v2] serial: 8250_mtk: Switch to use platform_get_irq()
  2020-06-18 12:29 [PATCH v2] serial: 8250_mtk: Switch to use platform_get_irq() Andy Shevchenko
@ 2020-06-22  9:01 ` Matthias Brugger
  0 siblings, 0 replies; 2+ messages in thread
From: Matthias Brugger @ 2020-06-22  9:01 UTC (permalink / raw)
  To: Andy Shevchenko, Greg Kroah-Hartman, linux-serial



On 18/06/2020 14:29, Andy Shevchenko wrote:
> platform_get_irq() provides an established error code and error message.
> Also, it's better to use dedicated API to retrieve Linux IRQ resource.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>

> ---
> v2: rebase on clean tree
>  drivers/tty/serial/8250/8250_mtk.c | 16 ++++++++++------
>  1 file changed, 10 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/tty/serial/8250/8250_mtk.c b/drivers/tty/serial/8250/8250_mtk.c
> index f839380c2f4c..685ded99fa6d 100644
> --- a/drivers/tty/serial/8250/8250_mtk.c
> +++ b/drivers/tty/serial/8250/8250_mtk.c
> @@ -494,13 +494,17 @@ static int mtk8250_probe_of(struct platform_device *pdev, struct uart_port *p,
>  static int mtk8250_probe(struct platform_device *pdev)
>  {
>  	struct uart_8250_port uart = {};
> -	struct resource *regs = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	struct resource *irq = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
>  	struct mtk8250_data *data;
> -	int err;
> +	struct resource *regs;
> +	int irq, err;
> +
> +	irq = platform_get_irq(pdev, 0);
> +	if (irq < 0)
> +		return irq;
>  
> -	if (!regs || !irq) {
> -		dev_err(&pdev->dev, "no registers/irq defined\n");
> +	regs = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> +	if (!regs) {
> +		dev_err(&pdev->dev, "no registers defined\n");
>  		return -EINVAL;
>  	}
>  
> @@ -524,7 +528,7 @@ static int mtk8250_probe(struct platform_device *pdev)
>  
>  	spin_lock_init(&uart.port.lock);
>  	uart.port.mapbase = regs->start;
> -	uart.port.irq = irq->start;
> +	uart.port.irq = irq;
>  	uart.port.pm = mtk8250_do_pm;
>  	uart.port.type = PORT_16550;
>  	uart.port.flags = UPF_BOOT_AUTOCONF | UPF_FIXED_PORT;
> 

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-06-22  9:01 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-18 12:29 [PATCH v2] serial: 8250_mtk: Switch to use platform_get_irq() Andy Shevchenko
2020-06-22  9:01 ` Matthias Brugger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).