示例#1
0
void * dump_proc(void * args) {

	struct dump_manager *manager = (struct dump_manager*) args;
	while (1) {
		wait_usb_plugin(manager);
		unmount_usb(manager);
		if (mount_usb(manager) == 0) {

			get_record_id(manager);
			change_led_mode(LED_DUMP);
			if (exe_update(manager) != 0) {
				get_config_info(manager);

				get_time(&(manager->time_export));
				dump_status(manager);
				dump_serial(manager);
				dump_wave(manager);
			}
			unmount_usb(manager);

			change_led_mode(LED_DUMP_FINISHED);
			wait_usb_plugout(manager);

			change_led_mode(LED_NORMAL);
		}

	}

	return NULL;
}
示例#2
0
static ssize_t led_brightness_store(struct device *dev,
		struct device_attribute *attr, const char *buf, size_t size)
{
	struct led_classdev *led_cdev = dev_get_drvdata(dev);
	ssize_t ret = -EINVAL;
	char *after;
	unsigned long state = simple_strtoul(buf, &after, 10);
	size_t count = after - buf;

#ifdef CONFIG_LEDS_PM8226_EMOTIONAL
	if(lge_get_boot_mode() != LGE_BOOT_MODE_CHARGERLOGO) {
		if (!strncmp(led_cdev->name, "red", 3)){
			change_led_mode();
		}
	}
#endif

	if (isspace(*after))
		count++;

	if (count == size) {
		ret = count;

		if (state == LED_OFF)
			led_trigger_remove(led_cdev);
		led_set_brightness(led_cdev, state);
	}

	return ret;
}