static void devalarm_start(struct devalarm *alrm, ktime_t exp)
{
    if (is_wakeup(alrm->type))
        alarm_start(&alrm->u.alrm, exp);
    else
        hrtimer_start(&alrm->u.hrt, exp, HRTIMER_MODE_ABS);
}
static void bcmpmu_rpc_program_alarm(struct bcmpmu_rpc *rpc,
		long seconds)
{
	ktime_t interval = ktime_set(seconds, 0);
	ktime_t next;

	pr_rpc(VERBOSE, "set timeout %ld s.\n", seconds);
	next = ktime_add(ktime_get_real(), interval);

	alarm_start(&rpc->alarm, next);
}
示例#3
0
/**
 * Toggles activation of the timer
 */
static void on_enable_toggle (GtkWidget *widget)
{
    int alarm_enabled = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget));
    if(alarm_enabled !=  timer_on) 
    {
        if (alarm_enabled) {
            alarm_start();
        } else {
            alarm_stop();
        }
    }
}
示例#4
0
/**
 * alarmtimer_do_nsleep - Internal alarmtimer nsleep implementation
 * @alarm: ptr to alarmtimer
 * @absexp: absolute expiration time
 *
 * Sets the alarm timer and sleeps until it is fired or interrupted.
 */
static int alarmtimer_do_nsleep(struct alarm *alarm, ktime_t absexp)
{
	alarm->data = (void *)current;
	do {
		set_current_state(TASK_INTERRUPTIBLE);
		alarm_start(alarm, absexp, ktime_set(0, 0));
		if (likely(alarm->data))
			schedule();

		alarm_cancel(alarm);
	} while (alarm->data && !signal_pending(current));

	__set_current_state(TASK_RUNNING);

	return (alarm->data == NULL);
}
示例#5
0
static gboolean alarm_si_button_press_event(GtkWidget *icon, GdkEventButton *event, gpointer data)
{
    if(event->button == 1)
    {
        if (timer_on == FALSE) {
            alarm_start();
        } else {
            alarm_stop();
        }
        /* Again, check for active page and set button otherwise */
        return TRUE;
    }
    else if (event->button == 3)
    {
        preferences_show_pref_window(plugin.id);
    }
    return FALSE;
}
static void android_bat_monitor_set_alarm(struct android_bat_data *battery,
					  int seconds)
{
	alarm_start(&battery->monitor_alarm,
		    ktime_add(battery->last_poll, ktime_set(seconds, 0)));
}