- Replace direct access to backlight_properties with backlight_get_brightness(). - Use brightness and not power to determine if backlight is off - Use the devm_ variant for registering backlight device, and drop all explicit unregistering of the backlight device. Signed-off-by: Sam Ravnborg <sam@xxxxxxxxxxxx> Cc: Philippe CORNU <philippe.cornu@xxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Sam Ravnborg <sam@xxxxxxxxxxxx> --- drivers/gpu/drm/panel/panel-orisetech-otm8009a.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/drivers/gpu/drm/panel/panel-orisetech-otm8009a.c b/drivers/gpu/drm/panel/panel-orisetech-otm8009a.c index bb0c992171e8..e6534cca2a84 100644 --- a/drivers/gpu/drm/panel/panel-orisetech-otm8009a.c +++ b/drivers/gpu/drm/panel/panel-orisetech-otm8009a.c @@ -388,6 +388,7 @@ static const struct drm_panel_funcs otm8009a_drm_funcs = { static int otm8009a_backlight_update_status(struct backlight_device *bd) { struct otm8009a *ctx = bl_get_data(bd); + u8 brightness = backlight_get_brightness(bd); u8 data[2]; if (!ctx->prepared) { @@ -395,13 +396,13 @@ static int otm8009a_backlight_update_status(struct backlight_device *bd) return -ENXIO; } - if (bd->props.power <= FB_BLANK_NORMAL) { + if (brightness > 0) { /* Power on the backlight with the requested brightness * Note We can not use mipi_dsi_dcs_set_display_brightness() * as otm8009a driver support only 8-bit brightness (1 param). */ data[0] = MIPI_DCS_SET_DISPLAY_BRIGHTNESS; - data[1] = bd->props.brightness; + data[1] = brightness; otm8009a_dcs_write_buf_hs(ctx, data, ARRAY_SIZE(data)); /* set Brightness Control & Backlight on */ @@ -428,6 +429,7 @@ static int otm8009a_probe(struct mipi_dsi_device *dsi) struct device *dev = &dsi->dev; struct otm8009a *ctx; int ret; + DECLARE_BACKLIGHT_INIT_RAW(props, OTM8009A_BACKLIGHT_DEFAULT, OTM8009A_BACKLIGHT_MAX); ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL); if (!ctx) @@ -462,25 +464,19 @@ static int otm8009a_probe(struct mipi_dsi_device *dsi) ctx->bl_dev = devm_backlight_device_register(dev, dev_name(dev), dsi->host->dev, ctx, &otm8009a_backlight_ops, - NULL); + &props); if (IS_ERR(ctx->bl_dev)) { ret = PTR_ERR(ctx->bl_dev); dev_err(dev, "failed to register backlight: %d\n", ret); return ret; } - ctx->bl_dev->props.max_brightness = OTM8009A_BACKLIGHT_MAX; - ctx->bl_dev->props.brightness = OTM8009A_BACKLIGHT_DEFAULT; - ctx->bl_dev->props.power = FB_BLANK_POWERDOWN; - ctx->bl_dev->props.type = BACKLIGHT_RAW; - drm_panel_add(&ctx->panel); ret = mipi_dsi_attach(dsi); if (ret < 0) { dev_err(dev, "mipi_dsi_attach failed. Is host ready?\n"); drm_panel_remove(&ctx->panel); - backlight_device_unregister(ctx->bl_dev); return ret; } -- 2.25.1 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel