Add support to obtain the initial mapping mode from DT instead of leaving it unconfigured.
Signed-off-by: Svyatoslav Ryhel <[email protected]> Reviewed-by: Daniel Thompson (RISCstar) <[email protected]> --- drivers/video/backlight/lm3533_bl.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/video/backlight/lm3533_bl.c b/drivers/video/backlight/lm3533_bl.c index 9eb0db640948..d003d5802508 100644 --- a/drivers/video/backlight/lm3533_bl.c +++ b/drivers/video/backlight/lm3533_bl.c @@ -37,6 +37,7 @@ struct lm3533_bl { u32 pwm; bool have_als; + bool linear; }; @@ -231,8 +232,14 @@ static const struct attribute_group *lm3533_bl_attribute_groups[] = { static int lm3533_bl_setup(struct lm3533_bl *bl) { + int ctrlbank = lm3533_bl_get_ctrlbank_id(bl); int ret; + ret = regmap_assign_bits(bl->regmap, LM3533_REG_CTRLBANK_AB_BCONF, + CTRLBANK_AB_BCONF_MODE(ctrlbank), bl->linear); + if (ret) + return ret; + ret = lm3533_ctrlbank_set_max_current(&bl->cb, bl->max_current); if (ret) return ret; @@ -286,6 +293,9 @@ static int lm3533_bl_probe(struct platform_device *pdev) props.max_brightness = LM3533_BL_MAX_BRIGHTNESS; props.brightness = default_brightness; + bl->linear = device_property_read_bool(&pdev->dev, + "ti,linear-mapping-mode"); + bd = devm_backlight_device_register(&pdev->dev, name, &pdev->dev, bl, &lm3533_bl_ops, &props); if (IS_ERR(bd)) { -- 2.53.0
