dmaengine: xilinx: Handle IRQ mapping errors
authorLars-Peter Clausen <lars@metafoo.de>
Wed, 8 Dec 2021 11:42:12 +0000 (12:42 +0100)
committerVinod Koul <vkoul@kernel.org>
Fri, 17 Dec 2021 16:09:26 +0000 (21:39 +0530)
commitf17e53388e82ebefc78ff53e33a6d8eebc1ad337
tree2b5223baf13dbca80f1ef7876216de189daec9be
parent7eafa6eed7f1c6d0d7ed2f90792ab6bce462a750
dmaengine: xilinx: Handle IRQ mapping errors

Handle errors when trying to map the IRQ for the DMA channels.

The main motivation here is to be able to handle probe deferral. E.g. when
using DT overlays it is possible that the DMA controller is probed before
interrupt controller, depending on the order in the DT.

In order to support this switch from irq_of_parse_and_map() to
of_irq_get(), which internally does the same, but it will return
EPROBE_DEFER when the interrupt controller is not yet available.

As a result other errors, such as an invalid IRQ specification, or missing
IRQ are also properly handled.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Reviewed-by: Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com>
Link: https://lore.kernel.org/r/20211208114212.234130-1-lars@metafoo.de
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/xilinx/xilinx_dma.c