I recently noticed the following message at boot time on my Lenovo c630 laptop (SDM845, if I'm not mistaken): <quote> [ 1.449499] debugfs: File ':soc@0:interrupt-controller@b220000' in directory 'domains' already present! </quote> which is usually the sign of something being amiss (multiple irqdomain using the same fwnode and not being tagged properly). Looking closer at the qcom-pdc driver (which is the one triggering the above warning), I realised that this driver could do with some cleanups: - Pseudo hwirq indicating the lack of parent. Not completely wrong, but could be done in a more elegant way. - Two irq domains, which provide the exact same service to the same IRQ space. Only the context is different, and the difference is not significant. - Broken locking. You just need the right timing and a driver that disables its interrupt. - A couple of open coded constructs that duplicate stuff the kernel already implements. I've tested this series on the above HW, and nothing broke (suspend works, interrupts get delivered). If nobody shouts, I'll plan to take this into 5.18. Marc Zyngier (5): irqchip/qcom-pdc: Kill PDC_NO_PARENT_IRQ irqchip/qcom-pdc: Kill non-wakeup irqdomain irqchip/qcom-pdc: Kill qcom_pdc_translate helper irqchip/qcom-pdc: Fix broken locking irqchip/qcom-pdc: Drop open coded version of __assign_bit() drivers/irqchip/qcom-pdc.c | 137 ++++++++----------------------------- 1 file changed, 28 insertions(+), 109 deletions(-) -- 2.30.2