ANDROID: power: wakeup_reason: wake reason enhancements
These changes build upon the existing Android kernel wakeup reason code to: * improve the positioning of suspend abort logging calls in suspend flow * add logging of abnormal wakeup reasons like unexpected HW IRQs and IRQs configured as both wake-enabled and no-suspend * add support for capturing deferred-processing threaded nested IRQs as wakeup reasons rather than their synchronously-processed parents Bug: 150970830 Bug: 140217217 Bug: 120445600 Signed-off-by: Kelly Rossmoyer <krossmo@google.com> Change-Id: I903b811a0fe11a605a25815c3a341668a23de700
This commit is contained in:

committed by
Alistair Delva

parent
0fb885c7b7
commit
b19f0cc3fe
@@ -20,11 +20,18 @@
|
||||
|
||||
#define MAX_SUSPEND_ABORT_LEN 256
|
||||
|
||||
void log_wakeup_reason(int irq);
|
||||
#ifdef CONFIG_SUSPEND
|
||||
void log_irq_wakeup_reason(int irq);
|
||||
void log_threaded_irq_wakeup_reason(int irq, int parent_irq);
|
||||
void log_suspend_abort_reason(const char *fmt, ...);
|
||||
void log_abnormal_wakeup_reason(const char *fmt, ...);
|
||||
void clear_wakeup_reasons(void);
|
||||
#else
|
||||
static inline void log_irq_wakeup_reason(int irq) { }
|
||||
static inline void log_threaded_irq_wakeup_reason(int irq, int parent_irq) { }
|
||||
static inline void log_suspend_abort_reason(const char *fmt, ...) { }
|
||||
static inline void log_abnormal_wakeup_reason(const char *fmt, ...) { }
|
||||
static inline void clear_wakeup_reasons(void) { }
|
||||
#endif
|
||||
|
||||
#endif /* _LINUX_WAKEUP_REASON_H */
|
||||
|
Reference in New Issue
Block a user