Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

serial: 8250_mtk: Switch to use platform_get_irq()

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>
Link: https://lore.kernel.org/r/20200618122952.88265-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Andy Shevchenko and committed by
Greg Kroah-Hartman
1b1eef68 451a73c6

+10 -6
+10 -6
drivers/tty/serial/8250/8250_mtk.c
··· 494 494 static int mtk8250_probe(struct platform_device *pdev) 495 495 { 496 496 struct uart_8250_port uart = {}; 497 - struct resource *regs = platform_get_resource(pdev, IORESOURCE_MEM, 0); 498 - struct resource *irq = platform_get_resource(pdev, IORESOURCE_IRQ, 0); 499 497 struct mtk8250_data *data; 500 - int err; 498 + struct resource *regs; 499 + int irq, err; 501 500 502 - if (!regs || !irq) { 503 - dev_err(&pdev->dev, "no registers/irq defined\n"); 501 + irq = platform_get_irq(pdev, 0); 502 + if (irq < 0) 503 + return irq; 504 + 505 + regs = platform_get_resource(pdev, IORESOURCE_MEM, 0); 506 + if (!regs) { 507 + dev_err(&pdev->dev, "no registers defined\n"); 504 508 return -EINVAL; 505 509 } 506 510 ··· 528 524 529 525 spin_lock_init(&uart.port.lock); 530 526 uart.port.mapbase = regs->start; 531 - uart.port.irq = irq->start; 527 + uart.port.irq = irq; 532 528 uart.port.pm = mtk8250_do_pm; 533 529 uart.port.type = PORT_16550; 534 530 uart.port.flags = UPF_BOOT_AUTOCONF | UPF_FIXED_PORT;