Merge "PM / wakeup: Add msm_show_resume_irq_mask to print off wakeup irq"

This commit is contained in:
qctecmdr 2019-08-01 13:25:29 -07:00 • committed by Gerrit - the friendly Code Review server
commit 31e5ae307b
2 changed files with 23 additions and 0 deletions

View file

@ -99,6 +99,12 @@ extern int pm_async_enabled;
/* drivers/base/power/main.c */
extern struct list_head dpm_list; /* The active device list */
#ifdef CONFIG_QCOM_SHOW_RESUME_IRQ
extern int msm_show_resume_irq_mask;
#else
#define msm_show_resume_irq_mask 0
#endif
static inline struct device *to_device(struct list_head *entry)
{
return container_of(entry, struct device, power.entry);

View file

@ -17,6 +17,9 @@
#include <linux/pm_wakeirq.h>
#include <linux/types.h>
#include <trace/events/power.h>
#include <linux/irq.h>
#include <linux/interrupt.h>
#include <linux/irqdesc.h>
#include "power.h"
@ -903,7 +906,21 @@ void pm_wakeup_clear(bool reset)
void pm_system_irq_wakeup(unsigned int irq_number)
{
struct irq_desc *desc;
const char *name = "null";
if (pm_wakeup_irq == 0) {
if (msm_show_resume_irq_mask) {
desc = irq_to_desc(irq_number);
if (desc == NULL)
name = "stray irq";
else if (desc->action && desc->action->name)
name = desc->action->name;
pr_warn("%s: %d triggered %s\n", __func__,
irq_number, name);
}
pm_wakeup_irq = irq_number;
pm_system_wakeup();
}