linux/drivers/of
Wang Kefeng 854f695c3d ARM: 9119/1: amba: Properly handle device probe without IRQ domain
of_amba_device_create() uses irq_of_parse_and_map() to translate
a DT interrupt specification into a Linux virtual interrupt number.

But it doesn't properly handle the case where the interrupt controller
is not yet available, eg, when pl011 interrupt is connected to MBIGEN
interrupt controller, because the mbigen initialization is too late,
which will lead to no IRQ due to no IRQ domain found, log is shown below,
  "irq: no irq domain found for uart0 !"

use of_irq_get() to return -EPROBE_DEFER as above, and in the function
amba_device_try_add()/amba_device_add(), it will properly handle in such
case, also return 0 in other fail cases to be consistent as before.

Cc: Rob Herring <robh+dt@kernel.org>
Cc: Frank Rowand <frowand.list@gmail.com>
Reported-by: Ruizhe Lin <linruizhe@huawei.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
2021-10-19 10:30:53 +01:00
..
unittest-data of: unittest: Statically apply overlays using fdtoverlay 2021-03-23 15:27:51 -06:00
address.c of: Move of_dma_set_restricted_buffer() into device.c 2021-08-23 06:32:02 -04:00
base.c Devicetree updates for v5.15: 2021-09-01 18:34:51 -07:00
device.c of: restricted dma: Don't fail device probe on rmem init failure 2021-08-23 06:32:04 -04:00
dynamic.c of: Add missing 'Return' section in kerneldoc comments 2021-03-27 12:59:03 -06:00
fdt_address.c
fdt.c of: fdt: Rename reserve_elfcorehdr() to fdt_reserve_elfcorehdr() 2021-08-25 13:13:31 -05:00
irq.c of: Add missing 'Return' section in kerneldoc comments 2021-03-27 12:59:03 -06:00
Kconfig of: Drop reserved mem dependency on DMA_DECLARE_COHERENT and DMA_CMA 2021-06-02 20:59:28 -05:00
kexec.c of: kexec: Remove FDT_PROP_* definitions 2021-07-16 14:05:38 -06:00
kobj.c of: Don't allow __of_attached_node_sysfs() without CONFIG_SYSFS 2021-08-23 13:52:09 -05:00
Makefile of: Add a common kexec FDT setup function 2021-03-08 12:06:29 -07:00
of_net.c of: net: fix of_get_mac_addr_nvmem() for non-platform devices 2021-04-13 14:35:02 -07:00
of_numa.c of, numa: Validate some distance map rules 2018-11-08 12:44:34 -06:00
of_private.h of: Move of_dma_set_restricted_buffer() into device.c 2021-08-23 06:32:02 -04:00
of_reserved_mem.c memblock: make memblock_find_in_range method private 2021-09-03 09:58:17 -07:00
overlay.c of: overlay: Remove redundant assignment to ret 2021-05-03 13:57:56 -05:00
pdt.c of: Remove struct device_node.type pointer 2019-01-10 16:24:44 -06:00
platform.c ARM: 9119/1: amba: Properly handle device probe without IRQ domain 2021-10-19 10:30:53 +01:00
property.c of: property: Disable fw_devlink DT support for X86 2021-09-10 11:21:49 -05:00
resolver.c of: overlay: log the error cause on resolver failure 2020-03-02 11:32:44 -06:00
unittest.c of: unittest: Use DEFINE_RES_MEM() to simplify code 2021-06-04 17:29:18 -05:00