spi: rspi: Use platform_get_irq_byname_optional() for optional irqs
authorGeert Uytterhoeven <geert+renesas@glider.be>
Wed, 16 Oct 2019 14:31:01 +0000 (16:31 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 17 Jan 2020 18:49:01 +0000 (19:49 +0100)
commit 2de860b4a7a0bd5a4b5bd3bff0e6a615495df4ba upstream.

As platform_get_irq_byname() now prints an error when the interrupt
does not exist, scary warnings may be printed for optional interrupts:

    renesas_spi e6b10000.spi: IRQ rx not found
    renesas_spi e6b10000.spi: IRQ mux not found

Fix this by calling platform_get_irq_byname_optional() instead.
Remove the no longer needed printing of platform_get_irq errors, as the
remaining calls to platform_get_irq() and platform_get_irq_byname() take
care of that.

Fixes: 7723f4c5ecdb8d83 ("driver core: platform: Add an error message to platform_get_irq*()")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Link: https://lore.kernel.org/r/20191016143101.28738-1-geert+renesas@glider.be
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/spi/spi-rspi.c

index 15f5723..7222c76 100644 (file)
@@ -1257,9 +1257,9 @@ static int rspi_probe(struct platform_device *pdev)
        ctlr->flags = ops->flags;
        ctlr->dev.of_node = pdev->dev.of_node;
 
-       ret = platform_get_irq_byname(pdev, "rx");
+       ret = platform_get_irq_byname_optional(pdev, "rx");
        if (ret < 0) {
-               ret = platform_get_irq_byname(pdev, "mux");
+               ret = platform_get_irq_byname_optional(pdev, "mux");
                if (ret < 0)
                        ret = platform_get_irq(pdev, 0);
                if (ret >= 0)
@@ -1270,10 +1270,6 @@ static int rspi_probe(struct platform_device *pdev)
                if (ret >= 0)
                        rspi->tx_irq = ret;
        }
-       if (ret < 0) {
-               dev_err(&pdev->dev, "platform_get_irq error\n");
-               goto error2;
-       }
 
        if (rspi->rx_irq == rspi->tx_irq) {
                /* Single multiplexed interrupt */