summaryrefslogtreecommitdiff
path: root/kernel/power/wakeup_reason.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/power/wakeup_reason.c')
-rw-r--r--kernel/power/wakeup_reason.c26
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