diff options
author | Barry Song <[email protected]> | 2021-03-03 11:49:15 +1300 |
---|---|---|
committer | Ingo Molnar <[email protected]> | 2021-03-06 12:48:00 +0100 |
commit | cbe16f35bee6880becca6f20d2ebf6b457148552 (patch) | |
tree | 4c82c004e0be2e9100af1407c11b5f35028a0d48 /tools/perf/scripts/python | |
parent | a38fd8748464831584a19438cbb3082b5a2dab15 (diff) |
genirq: Add IRQF_NO_AUTOEN for request_irq/nmi()
Many drivers don't want interrupts enabled automatically via request_irq().
So they are handling this issue by either way of the below two:
(1)
irq_set_status_flags(irq, IRQ_NOAUTOEN);
request_irq(dev, irq...);
(2)
request_irq(dev, irq...);
disable_irq(irq);
The code in the second way is silly and unsafe. In the small time gap
between request_irq() and disable_irq(), interrupts can still come.
The code in the first way is safe though it's subobtimal.
Add a new IRQF_NO_AUTOEN flag which can be handed in by drivers to
request_irq() and request_nmi(). It prevents the automatic enabling of the
requested interrupt/nmi in the same safe way as #1 above. With that the
various usage sites of #1 and #2 above can be simplified and corrected.
Signed-off-by: Barry Song <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
Cc: [email protected]
Link: https://lore.kernel.org/r/[email protected]
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions