static void glacier_set_brightness(struct led_classdev *led_cdev, enum led_brightness val) { struct msm_mddi_client_data *client = cabc.client_data; unsigned int shrink_br = val; printk(KERN_DEBUG "set brightness = %d\n", val); if (test_bit(GATE_ON, &cabc.status) == 0) return; if(panel_type == PANEL_SHARP) shrink_br = glacier_shrink_pwm(val, PWM_USER_DEF, PWM_USER_MIN, PWM_USER_MAX, PWM_SHARP_DEF, PWM_SHARP_MIN, PWM_SHARP_MAX); else shrink_br = glacier_shrink_pwm(val, PWM_USER_DEF, PWM_USER_MIN, PWM_USER_MAX, PWM_SONY_DEF, PWM_SONY_MIN, PWM_SONY_MAX); mutex_lock(&cabc.lock); if (glacier_set_dim == 1) { client->remote_write(client, 0x2C, 0x5300); /* we dont need set dim again */ glacier_set_dim = 0; } client->remote_write(client, 0x00, 0x5500); client->remote_write(client, shrink_br, 0x5100); brightness_value = val; mutex_unlock(&cabc.lock); }
static void glacier_set_brightness(struct led_classdev *led_cdev, enum led_brightness val) { struct msm_mddi_client_data *client = cabc.client_data; unsigned int shrink_br = val; if (test_bit(GATE_ON, &cabc.status) == 0) return; if(panel_type == PANEL_SHARP) shrink_br = glacier_shrink_pwm(val, PWM_USER_DEF, PWM_USER_MIN, PWM_USER_MAX, PWM_SHARP_DEF, PWM_SHARP_MIN, PWM_SHARP_MAX); else shrink_br = glacier_shrink_pwm(val, PWM_USER_DEF, PWM_USER_MIN, PWM_USER_MAX, PWM_SONY_DEF, PWM_SONY_MIN, PWM_SONY_MAX); if (!client) { pr_info("null mddi client"); return; } if (cabc.last_shrink_br == shrink_br) { pr_info("[BKL] identical shrink_br"); return; } mutex_lock(&cabc.lock); if (glacier_set_dim == 1) { client->remote_write(client, 0x2C, 0x5300); /* we dont need set dim again */ glacier_set_dim = 0; } client->remote_write(client, 0x00, 0x5500); client->remote_write(client, shrink_br, 0x5100); /* Update the last brightness */ cabc.last_shrink_br = shrink_br; brightness_value = val; mutex_unlock(&cabc.lock); printk(KERN_INFO "set brightness to %d\n", shrink_br); }