diff options
Diffstat (limited to 'kernel/power/wakeup_reason.c')
| -rw-r--r-- | kernel/power/wakeup_reason.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/kernel/power/wakeup_reason.c b/kernel/power/wakeup_reason.c index 9823d9ccde4..635ed61926c 100644 --- a/kernel/power/wakeup_reason.c +++ b/kernel/power/wakeup_reason.c @@ -63,6 +63,32 @@ static struct attribute_group attr_group = { .attrs = attrs, }; + + +int get_last_wakeup_reason() +{ + if(irq_count) + return irq_list[irq_count-1]; + else + return -EINVAL; +} + +int last_wakeup_reason_test(int reason) +{ + int irq_no; + unsigned long flags; + int ret = 0; + spin_lock_irqsave(&resume_reason_lock, flags); + for (irq_no = 0; irq_no < irq_count; irq_no++) { + if(reason == irq_list[irq_no]){ + ret = 1; + break; + } + } + spin_unlock_irqrestore(&resume_reason_lock, flags); + return ret; +} + /* * logs all the wake up reasons to the kernel * stores the irqs to expose them to the userspace via sysfs |