static int mt65xx_led_set_cust(struct cust_mt65xx_led *cust, int level) { if (level > LED_FULL) level = LED_FULL; else if (level < 0) level = 0; switch (cust->mode) { case MT65XX_LED_MODE_PWM: if(strcmp(cust->name,"lcd-backlight") == 0) { return brightness_set_pwm(cust->data, level,&cust->config_data); } else { return led_set_pwm(cust->data, level); } case MT65XX_LED_MODE_GPIO: return brightness_set_gpio(cust->data, level); case MT65XX_LED_MODE_PMIC: return brightness_set_pmic(cust->data, level); case MT65XX_LED_MODE_CUST: return ((cust_brightness_set)(cust->data))(level); case MT65XX_LED_MODE_NONE: default: break; } return -1; }
static int mt65xx_led_set_cust(struct cust_mt65xx_led *cust, int level) { if (level > LED_FULL) level = LED_FULL; else if (level < 0) level = 0; switch (cust->mode) { case MT65XX_LED_MODE_PWM: if(strcmp(cust->name,"lcd-backlight") == 0) { mdelay(100); //added by chenfei //added by XIE Wei -- begin if (level) { upmu_boost_isink_hw_sel(0x1); upmu_boost_mode(3); upmu_boost_vrsel(0x07); upmu_boost_cabc_en(0); upmu_top2_bst_drv_ck_pdn(0x0); upmu_boost_en(0x1); } else { printf("[LEDS]MT65XX_LED_PMIC_LCD_BOOST:level=%d\n", level); upmu_boost_en(0x0); } //added by XIE Wei -- end return brightness_set_pwm(cust->data, level,&cust->config_data); } else { return led_set_pwm(cust->data, level); } case MT65XX_LED_MODE_GPIO: return brightness_set_gpio(cust->data, level); case MT65XX_LED_MODE_PMIC: return brightness_set_pmic(cust->data, level); case MT65XX_LED_MODE_CUST: return ((cust_brightness_set)(cust->data))(level); case MT65XX_LED_MODE_NONE: default: break; } return -1; }