]> git.karo-electronics.de Git - karo-tx-linux.git/commit
of/irq: improve error report on irq discovery process failure
authorGuilherme G. Piccoli <gpiccoli@linux.vnet.ibm.com>
Mon, 5 Dec 2016 13:59:16 +0000 (11:59 -0200)
committerRob Herring <robh@kernel.org>
Mon, 9 Jan 2017 15:52:17 +0000 (09:52 -0600)
commitf1aa54840657fe822b026ab56b75088e08c92362
tree9400fa2f663dfcc1e0c6a4eb9fce0a228a00dc65
parent30965eeab5c873ca7af410506e6f0965074bf702
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>
drivers/of/irq.c
drivers/of/of_pci_irq.c