mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 00:04:15 +08:00
backlight: lp855x: Catch errors when changing brightness
The lp855x_bl_update_status function's return type is int, but it always returns 0, without checking for the results of the write_byte/pwm_ctrl functions called within. Make this function return the return values of the functions it calls, and modify the lp855x_pwm_ctrl function to return errors. Signed-off-by: Artur Weber <aweber.kernel@gmail.com> Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org> Link: https://lore.kernel.org/r/20230714121440.7717-3-aweber.kernel@gmail.com Signed-off-by: Lee Jones <lee@kernel.org>
This commit is contained in:
parent
4c09e20b3c
commit
5145531be5
@ -217,7 +217,7 @@ err:
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void lp855x_pwm_ctrl(struct lp855x *lp, int br, int max_br)
|
||||
static int lp855x_pwm_ctrl(struct lp855x *lp, int br, int max_br)
|
||||
{
|
||||
struct pwm_state state;
|
||||
|
||||
@ -234,23 +234,26 @@ static void lp855x_pwm_ctrl(struct lp855x *lp, int br, int max_br)
|
||||
state.duty_cycle = div_u64(br * state.period, max_br);
|
||||
state.enabled = state.duty_cycle;
|
||||
|
||||
pwm_apply_state(lp->pwm, &state);
|
||||
return pwm_apply_state(lp->pwm, &state);
|
||||
}
|
||||
|
||||
static int lp855x_bl_update_status(struct backlight_device *bl)
|
||||
{
|
||||
struct lp855x *lp = bl_get_data(bl);
|
||||
int brightness = bl->props.brightness;
|
||||
int ret;
|
||||
|
||||
if (bl->props.state & (BL_CORE_SUSPENDED | BL_CORE_FBBLANK))
|
||||
brightness = 0;
|
||||
|
||||
if (lp->mode == PWM_BASED)
|
||||
lp855x_pwm_ctrl(lp, brightness, bl->props.max_brightness);
|
||||
ret = lp855x_pwm_ctrl(lp, brightness,
|
||||
bl->props.max_brightness);
|
||||
else if (lp->mode == REGISTER_BASED)
|
||||
lp855x_write_byte(lp, lp->cfg->reg_brightness, (u8)brightness);
|
||||
ret = lp855x_write_byte(lp, lp->cfg->reg_brightness,
|
||||
(u8)brightness);
|
||||
|
||||
return 0;
|
||||
return ret;
|
||||
}
|
||||
|
||||
static const struct backlight_ops lp855x_bl_ops = {
|
||||
|
Loading…
Reference in New Issue
Block a user