Searched hist:"9 d4f24bfe043274d9274bcfe223b901bd8fb7182" (Results 1 – 1 of 1) sorted by relevance
/linux/drivers/irqchip/ |
H A D | qcom-pdc.c | diff 9d4f24bfe043274d9274bcfe223b901bd8fb7182 Mon Aug 23 10:04:40 CEST 2021 Marc Zyngier <maz@kernel.org> irqchip/qcom-pdc: Trim unused levels of the interrupt hierarchy
The QCOM PDC driver creates a bunch of unnecessary levels in the interrupt hierarchy when dealing with non-wakeup-capable interrupts. By definition, these lines are terminated at the PDC level, and everything below this is completely fake.
This also results in additional complexity as most of the callbacks have to check for the validity of the parent level. Needless to say, this doesn't look very good.
Solve this by disconnecting the interrupt hierarchy below the last valid level, and considerably simplify the handling of all the other interrupts by avoiding now unnecessary cheks. In most cases, the standard irq_*_parent() handlers are directly used.
This also cures an issue reporting by Maulik where gpio_to_irq() returns an error after having observed a set of invalid levels.
Signed-off-by: Marc Zyngier <maz@kernel.org> Signed-off-by: Maulik Shah <mkshah@codeaurora.org> Tested-by: Maulik Shah <mkshah@codeaurora.org> Link: https://lore.kernel.org/r/1629705880-27877-3-git-send-email-mkshah@codeaurora.org
|