static void regulator_led_set_value(struct regulator_led *led) { int voltage; int ret; mutex_lock(&led->mutex); if (led->value == LED_OFF) { regulator_led_disable(led); goto out; } if (led->cdev.max_brightness > 1) { voltage = led_regulator_get_voltage(led->vcc, led->value); dev_dbg(led->cdev.dev, "brightness: %d voltage: %d\n", led->value, voltage); ret = regulator_set_voltage(led->vcc, voltage, voltage); if (ret != 0) dev_err(led->cdev.dev, "Failed to set voltage %d: %d\n", voltage, ret); } regulator_led_enable(led); out: mutex_unlock(&led->mutex); }
static void regulator_led_set_value(struct regulator_led *led) { int voltage; int ret; struct regulator *movie; mutex_lock(&led->mutex); if(led->cdev.flags & LED_SUSPENDED) goto out; if (led->value == LED_OFF) { regulator_led_disable(led); goto out; } movie = regulator_get(NULL, "led_movie"); if(IS_ERR(movie)) { pr_err("%s: led_movie is failed.\n", __func__); goto out; } if (regulator_is_enabled(movie) > 0) { pr_info("%s: led_movie is enabled.\n", __func__); goto end; } #if 0 //TODO if (led->cdev.max_brightness > 1) { voltage = led_regulator_get_voltage(led->vcc, led->value); dev_dbg(led->cdev.dev, "brightness: %d voltage: %d\n", led->value, voltage); ret = regulator_set_voltage(led->vcc, voltage, voltage); if (ret != 0) dev_err(led->cdev.dev, "Failed to set voltage %d: %d\n", voltage, ret); } #endif regulator_set_current_limit(led->vcc, 90000, 110000); regulator_led_enable(led); end: regulator_put(movie); out: mutex_unlock(&led->mutex); }