It is useful to print which interrupt controllers are registered in the
system and which parent IRQ they use, especially given that L2 interrupt
controllers do not call request_irq() on their parent interrupt and do
not appear under /proc/interrupts for that reason.
We used to print the base register address virtual address which had
little value, use %pOF to print the path to the Device Tree node which
maps to the physical address more easily and is what people need to
troubleshoot systems.
Signed-off-by: Florian Fainelli <[email protected]>
---
drivers/irqchip/irq-bcm7038-l1.c | 3 +++
drivers/irqchip/irq-bcm7120-l2.c | 3 +++
drivers/irqchip/irq-brcmstb-l2.c | 2 ++
3 files changed, 8 insertions(+)
diff --git a/drivers/irqchip/irq-bcm7038-l1.c b/drivers/irqchip/irq-bcm7038-l1.c
index 0f6e30e9009d..0acebac1920b 100644
--- a/drivers/irqchip/irq-bcm7038-l1.c
+++ b/drivers/irqchip/irq-bcm7038-l1.c
@@ -343,6 +343,9 @@ int __init bcm7038_l1_of_init(struct device_node *dn,
goto out_unmap;
}
+ pr_info("registered BCM7038 L1 intc (%pOF, IRQs: %d)\n",
+ dn, IRQS_PER_WORD * intc->n_words);
+
return 0;
out_unmap:
diff --git a/drivers/irqchip/irq-bcm7120-l2.c b/drivers/irqchip/irq-bcm7120-l2.c
index 8968e5e93fcb..541bdca9f4af 100644
--- a/drivers/irqchip/irq-bcm7120-l2.c
+++ b/drivers/irqchip/irq-bcm7120-l2.c
@@ -318,6 +318,9 @@ static int __init bcm7120_l2_intc_probe(struct device_node *dn,
}
}
+ pr_info("registered %s intc (%pOF, parent IRQ(s): %d)\n",
+ intc_name, dn, data->num_parent_irqs);
+
return 0;
out_free_domain:
diff --git a/drivers/irqchip/irq-brcmstb-l2.c b/drivers/irqchip/irq-brcmstb-l2.c
index 83364fedbf0a..77822ad37aad 100644
--- a/drivers/irqchip/irq-brcmstb-l2.c
+++ b/drivers/irqchip/irq-brcmstb-l2.c
@@ -264,6 +264,8 @@ static int __init brcmstb_l2_intc_of_init(struct device_node *np,
ct->chip.irq_set_wake = irq_gc_set_wake;
}
+ pr_info("registered L2 intc (%pOF, parent irq: %d)\n", np, parent_irq);
+
return 0;
out_free_domain:
--
2.17.1
On 3/20/19 12:39 PM, Florian Fainelli wrote:
> It is useful to print which interrupt controllers are registered in the
> system and which parent IRQ they use, especially given that L2 interrupt
> controllers do not call request_irq() on their parent interrupt and do
> not appear under /proc/interrupts for that reason.
>
> We used to print the base register address virtual address which had
> little value, use %pOF to print the path to the Device Tree node which
> maps to the physical address more easily and is what people need to
> troubleshoot systems.
>
> Signed-off-by: Florian Fainelli <[email protected]>
Marc, are you okay with taking that patch?
--
Florian
On 26/04/2019 18:33, Florian Fainelli wrote:
> On 3/20/19 12:39 PM, Florian Fainelli wrote:
>> It is useful to print which interrupt controllers are registered in the
>> system and which parent IRQ they use, especially given that L2 interrupt
>> controllers do not call request_irq() on their parent interrupt and do
>> not appear under /proc/interrupts for that reason.
>>
>> We used to print the base register address virtual address which had
>> little value, use %pOF to print the path to the Device Tree node which
>> maps to the physical address more easily and is what people need to
>> troubleshoot systems.
>>
>> Signed-off-by: Florian Fainelli <[email protected]>
>
> Marc, are you okay with taking that patch?
I find it slightly pointless, but if you find it useful in the field,
fair enough. I've queued it for 5.2.
Thanks,
M.
--
Jazz is not dead. It just smells funny...