aboutsummaryrefslogtreecommitdiff
path: root/drivers/tty/serial/8250/8250_em.c
diff options
context:
space:
mode:
authorGravatar Andy Shevchenko <andriy.shevchenko@linux.intel.com> 2020-06-18 12:51:44 +0300
committerGravatar Greg Kroah-Hartman <gregkh@linuxfoundation.org> 2020-06-27 16:12:45 +0200
commit2a1dbd259e631a56784e5f72aebe5d6b2f5c5c87 (patch)
tree542e090462d0f12556b196208ca16d140b8bbfb0 /drivers/tty/serial/8250/8250_em.c
parentserial: kgdboc: Fix bad line wrapping in comment (diff)
downloadlinux-2a1dbd259e631a56784e5f72aebe5d6b2f5c5c87.tar.gz
linux-2a1dbd259e631a56784e5f72aebe5d6b2f5c5c87.tar.bz2
linux-2a1dbd259e631a56784e5f72aebe5d6b2f5c5c87.zip
serial: 8250_em: 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> Link: https://lore.kernel.org/r/20200618095144.73852-1-andriy.shevchenko@linux.intel.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty/serial/8250/8250_em.c')
-rw-r--r--drivers/tty/serial/8250/8250_em.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/drivers/tty/serial/8250/8250_em.c b/drivers/tty/serial/8250/8250_em.c
index 2a76e22d2ec0..db88dee3a399 100644
--- a/drivers/tty/serial/8250/8250_em.c
+++ b/drivers/tty/serial/8250/8250_em.c
@@ -78,14 +78,18 @@ static void serial8250_em_serial_dl_write(struct uart_8250_port *up, int value)
static int serial8250_em_probe(struct platform_device *pdev)
{
- struct resource *regs = platform_get_resource(pdev, IORESOURCE_MEM, 0);
- struct resource *irq = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
struct serial8250_em_priv *priv;
struct uart_8250_port up;
- int ret;
+ struct resource *regs;
+ int irq, ret;
- if (!regs || !irq) {
- dev_err(&pdev->dev, "missing registers or irq\n");
+ irq = platform_get_irq(pdev, 0);
+ if (irq < 0)
+ return irq;
+
+ regs = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+ if (!regs) {
+ dev_err(&pdev->dev, "missing registers\n");
return -EINVAL;
}
@@ -101,7 +105,7 @@ static int serial8250_em_probe(struct platform_device *pdev)
memset(&up, 0, sizeof(up));
up.port.mapbase = regs->start;
- up.port.irq = irq->start;
+ up.port.irq = irq;
up.port.type = PORT_UNKNOWN;
up.port.flags = UPF_BOOT_AUTOCONF | UPF_FIXED_PORT | UPF_IOREMAP;
up.port.dev = &pdev->dev;