diff options
Diffstat (limited to 'drivers/staging/android/alarm-dev.c')
| -rw-r--r-- | drivers/staging/android/alarm-dev.c | 17 | 
1 files changed, 10 insertions, 7 deletions
diff --git a/drivers/staging/android/alarm-dev.c b/drivers/staging/android/alarm-dev.c index 6dc27dac679..f200e8a8432 100644 --- a/drivers/staging/android/alarm-dev.c +++ b/drivers/staging/android/alarm-dev.c @@ -60,14 +60,18 @@ struct devalarm {  static struct devalarm alarms[ANDROID_ALARM_TYPE_COUNT]; - +/** + * is_wakeup() - Checks to see if this alarm can wake the device + * @type:	 The type of alarm being checked + * + * Return: 1 if this is a wakeup alarm, otherwise 0 + */  static int is_wakeup(enum android_alarm_type type)  { -	return (type == ANDROID_ALARM_RTC_WAKEUP || -		type == ANDROID_ALARM_ELAPSED_REALTIME_WAKEUP); +	return type == ANDROID_ALARM_RTC_WAKEUP || +		type == ANDROID_ALARM_ELAPSED_REALTIME_WAKEUP;  } -  static void devalarm_start(struct devalarm *alrm, ktime_t exp)  {  	if (is_wakeup(alrm->type)) @@ -76,7 +80,6 @@ static void devalarm_start(struct devalarm *alrm, ktime_t exp)  		hrtimer_start(&alrm->u.hrt, exp, HRTIMER_MODE_ABS);  } -  static int devalarm_try_to_cancel(struct devalarm *alrm)  {  	if (is_wakeup(alrm->type)) @@ -107,7 +110,6 @@ static void alarm_clear(enum android_alarm_type alarm_type)  	}  	alarm_enabled &= ~alarm_type_mask;  	spin_unlock_irqrestore(&alarm_slock, flags); -  }  static void alarm_set(enum android_alarm_type alarm_type, @@ -276,6 +278,7 @@ static long alarm_ioctl(struct file *file, unsigned int cmd, unsigned long arg)  	return 0;  } +  #ifdef CONFIG_COMPAT  static long alarm_compat_ioctl(struct file *file, unsigned int cmd,  							unsigned long arg) @@ -326,6 +329,7 @@ static int alarm_release(struct inode *inode, struct file *file)  	if (file->private_data) {  		for (i = 0; i < ANDROID_ALARM_TYPE_COUNT; i++) {  			uint32_t alarm_type_mask = 1U << i; +  			if (alarm_enabled & alarm_type_mask) {  				alarm_dbg(INFO,  					  "%s: clear alarm, pending %d\n", @@ -367,7 +371,6 @@ static void devalarm_triggered(struct devalarm *alarm)  	spin_unlock_irqrestore(&alarm_slock, flags);  } -  static enum hrtimer_restart devalarm_hrthandler(struct hrtimer *hrt)  {  	struct devalarm *devalrm = container_of(hrt, struct devalarm, u.hrt);  | 
