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; }
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; }