mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-09 05:39:54 -04:00
dsi: add new backlight control type I2C
dsi: Add new backlight I2C. Can't use WLED type, because WLED type don't consider if backlight device is inited later then panel. Change-Id: I1dcb4e10eaaecca8da4d44e384b1e49fb351693c Signed-off-by: wangyq13 <wangyq13@lenovo.com> Reviewed-on: https://gerrit.mot.com/1621694 SLTApproved: Slta Waiver SME-Granted: SME Approvals Granted Tested-by: Jira Key Reviewed-by: Hua Tan <tanhua1@motorola.com> Reviewed-by: Jing Hu <hujing3@lenovo.com> Reviewed-by: Dezhen Hou <houdz1@motorola.com> Reviewed-by: Guobin Zhang <zhanggb@motorola.com> Submit-Approved: Jira Key Signed-off-by: tanhua1 <tanhua1@lenovo.com> Reviewed-on: https://gerrit.mot.com/1949835 Reviewed-by: Xiangpo Zhao <zhaoxp3@motorola.com> Reviewed-on: https://gerrit.mot.com/2045804 Reviewed-by: Zhihong Kang <kangzh@motorola.com> Reviewed-by: Huosheng Liao <liaohs@motorola.com>
This commit is contained in:
parent
88794fe9cb
commit
83a97f26b2
2 changed files with 17 additions and 0 deletions
|
|
@ -856,6 +856,12 @@ int dsi_panel_set_backlight(struct dsi_panel *panel, u32 bl_lvl)
|
|||
case DSI_BACKLIGHT_PWM:
|
||||
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);
|
||||
else
|
||||
rc = backlight_device_set_brightness(bl->raw_bd, bl_lvl);
|
||||
break;
|
||||
default:
|
||||
DSI_ERR("Backlight type(%d) not supported\n", bl->type);
|
||||
rc = -ENOTSUPP;
|
||||
|
|
@ -878,6 +884,10 @@ static u32 dsi_panel_get_brightness(struct dsi_backlight_config *bl)
|
|||
if (bd->ops && bd->ops->get_brightness)
|
||||
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);
|
||||
break;
|
||||
case DSI_BACKLIGHT_DCS:
|
||||
case DSI_BACKLIGHT_EXTERNAL:
|
||||
case DSI_BACKLIGHT_PWM:
|
||||
|
|
@ -1139,6 +1149,8 @@ static int dsi_panel_bl_register(struct dsi_panel *panel)
|
|||
break;
|
||||
case DSI_BACKLIGHT_DCS:
|
||||
break;
|
||||
case DSI_BACKLIGHT_I2C:
|
||||
break;
|
||||
case DSI_BACKLIGHT_DUMMY:
|
||||
break;
|
||||
case DSI_BACKLIGHT_EXTERNAL:
|
||||
|
|
@ -1176,6 +1188,8 @@ static int dsi_panel_bl_unregister(struct dsi_panel *panel)
|
|||
break;
|
||||
case DSI_BACKLIGHT_DCS:
|
||||
break;
|
||||
case DSI_BACKLIGHT_I2C:
|
||||
break;
|
||||
case DSI_BACKLIGHT_DUMMY:
|
||||
break;
|
||||
case DSI_BACKLIGHT_EXTERNAL:
|
||||
|
|
@ -2905,6 +2919,8 @@ static int dsi_panel_parse_bl_config(struct dsi_panel *panel)
|
|||
panel->bl_config.type = DSI_BACKLIGHT_DUMMY;
|
||||
} else if (!strcmp(bl_type, "bl_ctrl_external")) {
|
||||
panel->bl_config.type = DSI_BACKLIGHT_EXTERNAL;
|
||||
} else if (!strcmp(bl_type, "bl_ctrl_i2c")) {
|
||||
panel->bl_config.type = DSI_BACKLIGHT_I2C;
|
||||
} else {
|
||||
DSI_DEBUG("[%s] bl-pmic-control-type unknown-%s\n",
|
||||
panel->name, bl_type);
|
||||
|
|
|
|||
|
|
@ -82,6 +82,7 @@ enum dsi_backlight_type {
|
|||
DSI_BACKLIGHT_DCS,
|
||||
DSI_BACKLIGHT_DUMMY,
|
||||
DSI_BACKLIGHT_EXTERNAL,
|
||||
DSI_BACKLIGHT_I2C,
|
||||
DSI_BACKLIGHT_UNKNOWN,
|
||||
DSI_BACKLIGHT_MAX,
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in a new issue