mbox series

[0/5] irqchip/qcom-pdc: Assorted cleanups and fixes

Message ID 20220224101226.88373-1-maz@kernel.org (mailing list archive)
Headers show
Series irqchip/qcom-pdc: Assorted cleanups and fixes | expand

Message

Marc Zyngier Feb. 24, 2022, 10:12 a.m. UTC
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(-)