static int backlight_pwm_set(struct backlight_device *backlight, int brightness) { struct pwm_backlight *pwm_backlight = container_of(backlight, struct pwm_backlight, backlight); pwm_config(pwm_backlight->pwm, compute_duty_cycle(pwm_backlight, brightness), pwm_backlight->period); if (brightness) return backlight_pwm_enable(pwm_backlight); else return backlight_pwm_disable(pwm_backlight); }
static int backlight_pwm_set(struct backlight_device *backlight, int brightness) { struct pwm_backlight *pwm_backlight = container_of(backlight, struct pwm_backlight, backlight); unsigned long long duty = pwm_backlight->period; unsigned int max = pwm_backlight->backlight.brightness_max; duty *= brightness; do_div(duty, max); pwm_config(pwm_backlight->pwm, duty, pwm_backlight->period); if (brightness) return backlight_pwm_enable(pwm_backlight); else return backlight_pwm_disable(pwm_backlight); }