Example #1
0
static void blink_callback(struct work_struct *blink_work)
{
	if (bln_led_state) {
		if (--blink_count == 0) {
			pr_notice("%s: notification led time out\n", __FUNCTION__);
			disable_led_notification();
			return;
		}
		bln_led_off();
	} else {
		bln_led_on();
	}
}
Example #2
0
static void enable_led_notification(void)
{
	if ( ! (!bln_enabled || bln_ongoing || !bln_suspended) ) {
		if (bln_imp->enable()) {
			bln_led_on();

			bln_ongoing = true;

			pr_info("%s: success\n", __FUNCTION__);
			return;
		}
	}

	pr_notice("%s: fail (enabled=%c ongoing=%c suspended=%c\n", __FUNCTION__, bln_enabled, bln_ongoing, bln_suspended);
}
Example #3
0
static void blink_callback(struct work_struct *blink_work)
{
	mutex_lock(&bln_mutex);
	if (bln_led_state) {
		if (--blink_count == 0) {
			pr_notice("%s: notification led time out\n", __FUNCTION__);
			disable_led_notification();
			goto unlock;
		}
		bln_led_off();
	} else {
		bln_led_on();
	}

unlock:
	mutex_unlock(&bln_mutex);
}
Example #4
0
static void bln_blink_stop(void)
{
	if (bln_blink_state) {
		if (timer_pending(&blink_timer))
			del_timer_sync(&blink_timer);

		if (wake_lock_active(&bln_wake_lock))
			wake_unlock(&bln_wake_lock);

		bln_blink_state = 0;

		if (bln_ongoing)
			bln_led_on();

		pr_info("%s: complete\n", __FUNCTION__);
	} else {
		pr_notice("%s: fail (blink_state=%c)\n", __FUNCTION__, bln_blink_state);
	}
}