diff --git a/drivers/backlight/aw99703/leds_aw99703.c b/drivers/backlight/aw99703/leds_aw99703.c index f922cb0cdb87..2a914cf9e8f4 100644 --- a/drivers/backlight/aw99703/leds_aw99703.c +++ b/drivers/backlight/aw99703/leds_aw99703.c @@ -271,7 +271,7 @@ static int aw99703_backlight_init(struct aw99703_data *drvdata) aw99703_i2c_write_bit(drvdata->client, AW99703_REG_MODE, AW99703_MODE_MAP_MASK, - AW99703_MODE_MAP_LINEAR); + drvdata->map_type); /*default OVPSEL 38V*/ aw99703_i2c_write_bit(drvdata->client, @@ -509,6 +509,14 @@ aw99703_get_dt_data(struct device *dev, struct aw99703_data *drvdata) else pr_info("%s pwm_mode=%d\n", __func__, drvdata->pwm_mode); + rc = of_property_read_u32(np, "aw99703,map-type", &drvdata->map_type); + if (rc != 0) { + drvdata->map_type = AW99703_MODE_MAP_LINEAR; + pr_err("%s map-type not found\n", __func__); + } + else + pr_info("%s map-type=%d\n", __func__, drvdata->map_type); + drvdata->using_lsb = of_property_read_bool(np, "aw99703,using-lsb"); pr_info("%s using_lsb --<%d>\n", __func__, drvdata->using_lsb); diff --git a/drivers/backlight/aw99703/leds_aw99703.h b/drivers/backlight/aw99703/leds_aw99703.h index 516df94aa91f..9b6c9bd51e59 100644 --- a/drivers/backlight/aw99703/leds_aw99703.h +++ b/drivers/backlight/aw99703/leds_aw99703.h @@ -230,6 +230,7 @@ struct aw99703_data { unsigned short *brt_code_table; int hwen_gpio; unsigned int pwm_mode; + unsigned int map_type; bool using_lsb; bool bl_reconfig_enable; char panel_info[16];