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 9ad7ea1bbbcc..4f8cde9f290d 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; }; @@ -226,8 +227,14 @@ static struct attribute_group lm3533_bl_attribute_group = { 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; @@ -281,6 +288,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
