mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-16 00:34:20 +08:00
irq: Add IRQ_TYPE_DEFAULT for use by PIC drivers
This is meant typically to allow a PIC driver's irq domain map() callback to establish sane defaults for the interrupt (and make sure that the HW and the irq_desc are in sync as far as the trigger is concerned). The irq core may not call the set_trigger callback if it thinks the trigger is already set to the right setting, so we need to ensure new descriptors are properly synchronized with the hardware. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
parent
3a2b4f7c35
commit
3fca40c704
@ -49,6 +49,12 @@ typedef void (*irq_preflow_handler_t)(struct irq_data *data);
|
||||
* IRQ_TYPE_LEVEL_LOW - low level triggered
|
||||
* IRQ_TYPE_LEVEL_MASK - Mask to filter out the level bits
|
||||
* IRQ_TYPE_SENSE_MASK - Mask for all the above bits
|
||||
* IRQ_TYPE_DEFAULT - For use by some PICs to ask irq_set_type
|
||||
* to setup the HW to a sane default (used
|
||||
* by irqdomain map() callbacks to synchronize
|
||||
* the HW state and SW flags for a newly
|
||||
* allocated descriptor).
|
||||
*
|
||||
* IRQ_TYPE_PROBE - Special flag for probing in progress
|
||||
*
|
||||
* Bits which can be modified via irq_set/clear/modify_status_flags()
|
||||
@ -77,6 +83,7 @@ enum {
|
||||
IRQ_TYPE_LEVEL_LOW = 0x00000008,
|
||||
IRQ_TYPE_LEVEL_MASK = (IRQ_TYPE_LEVEL_LOW | IRQ_TYPE_LEVEL_HIGH),
|
||||
IRQ_TYPE_SENSE_MASK = 0x0000000f,
|
||||
IRQ_TYPE_DEFAULT = IRQ_TYPE_SENSE_MASK,
|
||||
|
||||
IRQ_TYPE_PROBE = 0x00000010,
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user