diff --git a/msm/dsi/dsi_panel.c b/msm/dsi/dsi_panel.c index d3fd0c6fcd81..ec59e43a83ef 100644 --- a/msm/dsi/dsi_panel.c +++ b/msm/dsi/dsi_panel.c @@ -857,10 +857,10 @@ int dsi_panel_set_backlight(struct dsi_panel *panel, u32 bl_lvl) rc = dsi_panel_update_pwm_backlight(panel, bl_lvl); break; case DSI_BACKLIGHT_I2C: - if (!(bl->raw_bd)) - bl->raw_bd = backlight_device_get_by_type(BACKLIGHT_RAW); + if (!(bl->i2c_bd)) + bl->i2c_bd = backlight_device_get_by_type(BACKLIGHT_PLATFORM); else - rc = backlight_device_set_brightness(bl->raw_bd, bl_lvl); + rc = backlight_device_set_brightness(bl->i2c_bd, bl_lvl); break; default: DSI_ERR("Backlight type(%d) not supported\n", bl->type); @@ -874,6 +874,7 @@ static u32 dsi_panel_get_brightness(struct dsi_backlight_config *bl) { u32 cur_bl_level; struct backlight_device *bd = bl->raw_bd; + struct backlight_device *i2c_bd = bl->i2c_bd; /* default the brightness level to 50% */ cur_bl_level = bl->bl_max_level >> 1; @@ -885,8 +886,8 @@ static u32 dsi_panel_get_brightness(struct dsi_backlight_config *bl) cur_bl_level = bd->ops->get_brightness(bd); break; case DSI_BACKLIGHT_I2C: - if (bd && bd->ops && bd->ops->get_brightness) - cur_bl_level = bd->ops->get_brightness(bd); + if (i2c_bd && i2c_bd->ops && i2c_bd->ops->get_brightness) + cur_bl_level = i2c_bd->ops->get_brightness(i2c_bd); break; case DSI_BACKLIGHT_DCS: case DSI_BACKLIGHT_EXTERNAL: diff --git a/msm/dsi/dsi_panel.h b/msm/dsi/dsi_panel.h index e8d1dc76d778..7ee0cb0888ac 100644 --- a/msm/dsi/dsi_panel.h +++ b/msm/dsi/dsi_panel.h @@ -172,7 +172,8 @@ struct dsi_backlight_config { /* WLED params */ struct led_trigger *wled; struct backlight_device *raw_bd; - + struct backlight_device *i2c_bd; + /* DCS params */ bool lp_mode; };