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 |