diff options
| author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2015-03-05 19:29:05 -0500 |
|---|---|---|
| committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2015-03-05 19:29:05 -0500 |
| commit | 79d223646baa14272dc90044a0e798c552b72eda (patch) | |
| tree | a4f92bc30b14595242d1b60705b93e3f86afc59f /include/linux | |
| parent | eef16e4362703f213c40175c4adb6f00f6eb9735 (diff) | |
| parent | 7438b633a6b073d66a3fa3678ec0dd5928caa4af (diff) | |
Merge branch 'irq-pm'
* irq-pm:
genirq / PM: describe IRQF_COND_SUSPEND
tty: serial: atmel: rework interrupt and wakeup handling
watchdog: at91sam9: request the irq with IRQF_NO_SUSPEND
clk: at91: implement suspend/resume for the PMC irqchip
rtc: at91rm9200: rework wakeup and interrupt handling
rtc: at91sam9: rework wakeup and interrupt handling
PM / wakeup: export pm_system_wakeup symbol
genirq / PM: Add flag for shared NO_SUSPEND interrupt lines
genirq / PM: better describe IRQF_NO_SUSPEND semantics
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/interrupt.h | 9 | ||||
| -rw-r--r-- | include/linux/irqdesc.h | 1 |
2 files changed, 9 insertions, 1 deletions
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h index d9b05b5bf8c7..2e88580194f0 100644 --- a/include/linux/interrupt.h +++ b/include/linux/interrupt.h | |||
| @@ -52,11 +52,17 @@ | |||
| 52 | * IRQF_ONESHOT - Interrupt is not reenabled after the hardirq handler finished. | 52 | * IRQF_ONESHOT - Interrupt is not reenabled after the hardirq handler finished. |
| 53 | * Used by threaded interrupts which need to keep the | 53 | * Used by threaded interrupts which need to keep the |
| 54 | * irq line disabled until the threaded handler has been run. | 54 | * irq line disabled until the threaded handler has been run. |
| 55 | * IRQF_NO_SUSPEND - Do not disable this IRQ during suspend | 55 | * IRQF_NO_SUSPEND - Do not disable this IRQ during suspend. Does not guarantee |
| 56 | * that this interrupt will wake the system from a suspended | ||
| 57 | * state. See Documentation/power/suspend-and-interrupts.txt | ||
| 56 | * IRQF_FORCE_RESUME - Force enable it on resume even if IRQF_NO_SUSPEND is set | 58 | * IRQF_FORCE_RESUME - Force enable it on resume even if IRQF_NO_SUSPEND is set |
| 57 | * IRQF_NO_THREAD - Interrupt cannot be threaded | 59 | * IRQF_NO_THREAD - Interrupt cannot be threaded |
| 58 | * IRQF_EARLY_RESUME - Resume IRQ early during syscore instead of at device | 60 | * IRQF_EARLY_RESUME - Resume IRQ early during syscore instead of at device |
| 59 | * resume time. | 61 | * resume time. |
| 62 | * IRQF_COND_SUSPEND - If the IRQ is shared with a NO_SUSPEND user, execute this | ||
| 63 | * interrupt handler after suspending interrupts. For system | ||
| 64 | * wakeup devices users need to implement wakeup detection in | ||
| 65 | * their interrupt handlers. | ||
| 60 | */ | 66 | */ |
| 61 | #define IRQF_DISABLED 0x00000020 | 67 | #define IRQF_DISABLED 0x00000020 |
| 62 | #define IRQF_SHARED 0x00000080 | 68 | #define IRQF_SHARED 0x00000080 |
| @@ -70,6 +76,7 @@ | |||
| 70 | #define IRQF_FORCE_RESUME 0x00008000 | 76 | #define IRQF_FORCE_RESUME 0x00008000 |
| 71 | #define IRQF_NO_THREAD 0x00010000 | 77 | #define IRQF_NO_THREAD 0x00010000 |
| 72 | #define IRQF_EARLY_RESUME 0x00020000 | 78 | #define IRQF_EARLY_RESUME 0x00020000 |
| 79 | #define IRQF_COND_SUSPEND 0x00040000 | ||
| 73 | 80 | ||
| 74 | #define IRQF_TIMER (__IRQF_TIMER | IRQF_NO_SUSPEND | IRQF_NO_THREAD) | 81 | #define IRQF_TIMER (__IRQF_TIMER | IRQF_NO_SUSPEND | IRQF_NO_THREAD) |
| 75 | 82 | ||
diff --git a/include/linux/irqdesc.h b/include/linux/irqdesc.h index faf433af425e..dd1109fb241e 100644 --- a/include/linux/irqdesc.h +++ b/include/linux/irqdesc.h | |||
| @@ -78,6 +78,7 @@ struct irq_desc { | |||
| 78 | #ifdef CONFIG_PM_SLEEP | 78 | #ifdef CONFIG_PM_SLEEP |
| 79 | unsigned int nr_actions; | 79 | unsigned int nr_actions; |
| 80 | unsigned int no_suspend_depth; | 80 | unsigned int no_suspend_depth; |
| 81 | unsigned int cond_suspend_depth; | ||
| 81 | unsigned int force_resume_depth; | 82 | unsigned int force_resume_depth; |
| 82 | #endif | 83 | #endif |
| 83 | #ifdef CONFIG_PROC_FS | 84 | #ifdef CONFIG_PROC_FS |
