linux/drivers/of
Guilherme G. Piccoli f1aa548406 of/irq: improve error report on irq discovery process failure
On PowerPC machines some PCI slots might not have level triggered
interrupts capability (also know as level signaled interrupts),
leading of_irq_parse_pci() to complain by presenting error messages
on the kernel log - in this case, the properties "interrupt-map" and
"interrupt-map-mask" are not present on device's node in the device
tree.

This patch introduces a different message for this specific case,
and also reduces its level from error to warning. Besides, we warn
(once) that possibly some PCI slots on the system have no level
triggered interrupts available.
We changed some error return codes too on function of_irq_parse_raw()
in order other failure's cases can be presented in a more precise way.

Before this patch, when an adapter was plugged in a slot without level
interrupts capabilitiy on PowerPC, we saw a generic error message
like this:

    [54.239] pci 002d:70:00.0: of_irq_parse_pci() failed with rc=-22

Now, with this applied, we see the following specific message:

    [16.154] pci 0014:60:00.1: of_irq_parse_pci: no interrupt-map found,
    INTx interrupts not available

Finally, we standardize the error path in of_irq_parse_raw() by always
taking the fail path instead of returning directly from the loop.

Signed-off-by: Guilherme G. Piccoli <gpiccoli@linux.vnet.ibm.com>
Signed-off-by: Rob Herring <robh@kernel.org>
2017-01-09 09:52:17 -06:00
..
unittest-data of/unittest: replace 'selftest' with 'unittest' 2015-03-25 00:53:29 -05:00
address.c of: use pr_fmt prefix for all console printing 2016-07-18 16:57:42 -05:00
base.c DeviceTree updates for 4.10: 2016-12-15 11:49:41 -08:00
device.c iommu: of: enforce const-ness of struct iommu_ops 2016-05-09 15:33:29 +02:00
dynamic.c of: use pr_fmt prefix for all console printing 2016-07-18 16:57:42 -05:00
fdt_address.c of: use pr_fmt prefix for all console printing 2016-07-18 16:57:42 -05:00
fdt.c of/fdt: mark hotpluggable memory 2016-12-12 18:55:07 -08:00
irq.c of/irq: improve error report on irq discovery process failure 2017-01-09 09:52:17 -06:00
Kconfig mtd: Kill the OF_MTD Kconfig option 2016-09-23 09:35:16 +02:00
Makefile MTD updates for v4.7: 2016-05-24 11:00:20 -07:00
of_mdio.c of_mdio: add helper to deregister fixed-link PHYs 2016-11-29 23:17:02 -05:00
of_net.c of_net: factor out repetitive code from of_get_mac_address() 2015-03-29 08:56:17 +01:00
of_numa.c of, numa: Return NUMA_NO_NODE from disable of_node_to_nid() if nid not possible. 2016-11-15 09:17:12 -06:00
of_pci_irq.c of/irq: improve error report on irq discovery process failure 2017-01-09 09:52:17 -06:00
of_pci.c of/pci: Add of_pci_get_max_link_speed() to parse max-link-speed from DT 2016-11-14 15:21:14 -06:00
of_private.h of: fix memory leak related to safe_name() 2016-06-24 15:16:10 -05:00
of_reserved_mem.c of: reserved_mem: set dma_ops for devices using reserved mem 2017-01-04 14:00:45 -06:00
overlay.c of: drop duplicate headers 2017-01-04 14:01:28 -06:00
pdt.c of: Eliminate of_allnodes list 2014-11-04 13:29:38 +00:00
platform.c of/platform: clarify of_find_device_by_node refcounting 2016-11-15 09:17:19 -06:00
resolver.c of: drop duplicate headers 2017-01-04 14:01:28 -06:00
unittest.c of: drop duplicate headers 2017-01-04 14:01:28 -06:00