]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
dmaengine: sh: rz_dmac: make error interrupt optional
authorCosmin Tanislav <cosmin-gabriel.tanislav.xa@renesas.com>
Mon, 5 Jan 2026 11:44:42 +0000 (13:44 +0200)
committerVinod Koul <vkoul@kernel.org>
Mon, 9 Mar 2026 11:26:30 +0000 (12:26 +0100)
The Renesas RZ/T2H (R9A09G077) and RZ/N2H (R9A09G087) SoCs do not have
an error interrupt for the DMACs, and the current driver implementation
does not make much use of it.

To prepare for adding support for these SoCs, do not error out if the
error interrupt is missing.

Signed-off-by: Cosmin Tanislav <cosmin-gabriel.tanislav.xa@renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://patch.msgid.link/20260105114445.878262-2-cosmin-gabriel.tanislav.xa@renesas.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/sh/rz-dmac.c

index d84ca551b2bf8b757b1a3ce6916e905f77479683..83aaf4054280700ba198f4587c762cd63303736e 100644 (file)
@@ -956,16 +956,15 @@ static int rz_dmac_probe(struct platform_device *pdev)
        }
 
        /* Register interrupt handler for error */
-       irq = platform_get_irq_byname(pdev, irqname);
-       if (irq < 0)
-               return irq;
-
-       ret = devm_request_irq(&pdev->dev, irq, rz_dmac_irq_handler, 0,
-                              irqname, NULL);
-       if (ret) {
-               dev_err(&pdev->dev, "failed to request IRQ %u (%d)\n",
-                       irq, ret);
-               return ret;
+       irq = platform_get_irq_byname_optional(pdev, irqname);
+       if (irq > 0) {
+               ret = devm_request_irq(&pdev->dev, irq, rz_dmac_irq_handler, 0,
+                                      irqname, NULL);
+               if (ret) {
+                       dev_err(&pdev->dev, "failed to request IRQ %u (%d)\n",
+                               irq, ret);
+                       return ret;
+               }
        }
 
        /* Initialize the channels. */