]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
serial: stm32: avoid kernel warning on absence of optional IRQ
authorHolger Assmann <h.assmann@pengutronix.de>
Thu, 13 Aug 2020 15:27:57 +0000 (17:27 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 3 Sep 2020 09:27:03 +0000 (11:27 +0200)
commit fdf16d78941b4f380753053d229955baddd00712 upstream.

stm32_init_port() of the stm32-usart may trigger a warning in
platform_get_irq() when the device tree specifies no wakeup interrupt.

The wakeup interrupt is usually a board-specific GPIO and the driver
functions correctly in its absence. The mainline stm32mp151.dtsi does
not specify it, so all mainline device trees trigger an unnecessary
kernel warning. Use of platform_get_irq_optional() avoids this.

Fixes: 2c58e56096dd ("serial: stm32: fix the get_irq error case")
Signed-off-by: Holger Assmann <h.assmann@pengutronix.de>
Cc: stable <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20200813152757.32751-1-h.assmann@pengutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/stm32-usart.c

index 2f72514d63edd7dbdf70978ea5e4f25dc5eb012a..bf83e6c212f5991aeb5a5b14ff7e59a29a134e62 100644 (file)
@@ -937,7 +937,7 @@ static int stm32_init_port(struct stm32_port *stm32port,
        stm32_init_rs485(port, pdev);
 
        if (stm32port->info->cfg.has_wakeup) {
-               stm32port->wakeirq = platform_get_irq(pdev, 1);
+               stm32port->wakeirq = platform_get_irq_optional(pdev, 1);
                if (stm32port->wakeirq <= 0 && stm32port->wakeirq != -ENXIO)
                        return stm32port->wakeirq ? : -ENODEV;
        }