Example #1
0
static ssize_t buttons_led_status_write(struct device *dev,
		struct device_attribute *attr, const char *buf, size_t size)
{
	unsigned int data;

	if (sscanf(buf, "%u\n", &data) != 1) {
			pr_info("%s: input error\n", __FUNCTION__);
			return size;
	}

	if (data == 1) {
		if(!bln_suspended){
			buttons_led_enabled = true;
			bln_power_on();
			bln_enable_backlights(gen_all_leds_mask());
		}
	} else if (data == 0) {
		if(!bln_suspended){
			buttons_led_enabled = false;
			bln_disable_backlights(gen_all_leds_mask());
		}
	} else {
		pr_info("%s: wrong input %u\n", __FUNCTION__, data);
	}

	return size;
}
Example #2
0
static ssize_t blink_control_write(struct device *dev,
		struct device_attribute *attr, const char *buf, size_t size)
{
	unsigned int data;

	if (!bln_ongoing)
		return size;

	if (sscanf(buf, "%u\n", &data) != 1) {
		pr_info("%s: input error\n", __FUNCTION__);
		return size;
	}

	/* reversed logic:
	 * 1 = leds off
	 * 0 = leds on
	 */
	if (data == 1) {
		bln_blink_state = 1;
		bln_disable_backlights(get_led_mask());
	} else if (data == 0) {
		bln_blink_state = 0;
		bln_enable_backlights(get_led_mask());
	} else {
		pr_info("%s: wrong input %u\n", __FUNCTION__, data);
	}

	return size;
}
Example #3
0
static void disable_led_notification(void)
{
	if (bln_suspended && bln_ongoing) {
		bln_disable_backlights(gen_all_leds_mask());
		bln_power_off();
	}

	reset_bln_states();

	pr_info("%s: notification led disabled\n", __FUNCTION__);
}
Example #4
0
static void disable_led_notification(void)
{
	pr_info("%s: notification led disabled\n", __FUNCTION__);

	bln_blink_state = 0;
	bln_ongoing = false;

	if (bln_suspended)
		bln_disable_backlights();

	if (in_kernel_blink)
		del_timer(&blink_timer);

}
Example #5
0
static void blink_callback(struct work_struct *blink_work)
{
	if (--blink_count == 0) {
		pr_info("%s: notification timed out\n", __FUNCTION__);
		bln_enable_backlights();
		del_timer(&blink_timer);
		return;
	}

	if (bln_blink_state)
		bln_enable_backlights();
	else
		bln_disable_backlights();

	bln_blink_state = !bln_blink_state;
}
Example #6
0
static ssize_t blink_control_write(struct device *dev,
		struct device_attribute *attr, const char *buf, size_t size)
{
	unsigned int data;

	if (!bln_ongoing)
		return size;

	if (sscanf(buf, "%u\n", &data) == 1) {
		if (data == 1) {
			bln_blink_state = 1;
			bln_disable_backlights();
		} else if (data == 0) {
			bln_blink_state = 0;
			bln_enable_backlights();
		} else {
			pr_info("%s: wrong input %u\n", __FUNCTION__, data);
		}
	} else {
		pr_info("%s: input error\n", __FUNCTION__);
	}

	return size;
}