Hi, On Thu, Jun 16, 2022 at 07:23:14PM +0200, Stephen Kitt wrote: > Instead of retrieving the backlight brightness in struct > backlight_properties manually, and then checking whether the backlight > should be on at all, use backlight_get_brightness() which does all > this and insulates this from future changes. > > Instead of setting the power state by manually updating fields in > struct backlight_properties, use backlight_enable() and > backlight_disable(). These also call backlight_update_status() so the > separate call is no longer needed. > > Signed-off-by: Stephen Kitt <steve@xxxxxxx> > Cc: Thierry Reding <thierry.reding@xxxxxxxxx> > Cc: Sam Ravnborg <sam@xxxxxxxxxxxx> > Cc: David Airlie <airlied@xxxxxxxx> > Cc: Daniel Vetter <daniel@xxxxxxxx> > Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx > --- > Changes since v1: removed unnecessary parentheses > --- Reviewed-by: Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxx> -- Sebastian > drivers/gpu/drm/panel/panel-dsi-cm.c | 29 ++++++---------------------- > 1 file changed, 6 insertions(+), 23 deletions(-) > > diff --git a/drivers/gpu/drm/panel/panel-dsi-cm.c b/drivers/gpu/drm/panel/panel-dsi-cm.c > index b58cb064975f..b0213a518f9d 100644 > --- a/drivers/gpu/drm/panel/panel-dsi-cm.c > +++ b/drivers/gpu/drm/panel/panel-dsi-cm.c > @@ -85,17 +85,10 @@ static void dsicm_bl_power(struct panel_drv_data *ddata, bool enable) > else > return; > > - if (enable) { > - backlight->props.fb_blank = FB_BLANK_UNBLANK; > - backlight->props.state = ~(BL_CORE_FBBLANK | BL_CORE_SUSPENDED); > - backlight->props.power = FB_BLANK_UNBLANK; > - } else { > - backlight->props.fb_blank = FB_BLANK_NORMAL; > - backlight->props.power = FB_BLANK_POWERDOWN; > - backlight->props.state |= BL_CORE_FBBLANK | BL_CORE_SUSPENDED; > - } > - > - backlight_update_status(backlight); > + if (enable) > + backlight_enable(backlight); > + else > + backlight_disable(backlight); > } > > static void hw_guard_start(struct panel_drv_data *ddata, int guard_msec) > @@ -196,13 +189,7 @@ static int dsicm_bl_update_status(struct backlight_device *dev) > { > struct panel_drv_data *ddata = dev_get_drvdata(&dev->dev); > int r = 0; > - int level; > - > - if (dev->props.fb_blank == FB_BLANK_UNBLANK && > - dev->props.power == FB_BLANK_UNBLANK) > - level = dev->props.brightness; > - else > - level = 0; > + int level = backlight_get_brightness(dev); > > dev_dbg(&ddata->dsi->dev, "update brightness to %d\n", level); > > @@ -219,11 +206,7 @@ static int dsicm_bl_update_status(struct backlight_device *dev) > > static int dsicm_bl_get_intensity(struct backlight_device *dev) > { > - if (dev->props.fb_blank == FB_BLANK_UNBLANK && > - dev->props.power == FB_BLANK_UNBLANK) > - return dev->props.brightness; > - > - return 0; > + return backlight_get_brightness(dev); > } > > static const struct backlight_ops dsicm_bl_ops = { > -- > 2.30.2 >
Attachment:
signature.asc
Description: PGP signature