Add support to obtain the initial mapping mode from DT instead of leaving it unconfigured.
Signed-off-by: Svyatoslav Ryhel <[email protected]> --- drivers/video/backlight/lm3533_bl.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/drivers/video/backlight/lm3533_bl.c b/drivers/video/backlight/lm3533_bl.c index 36e6f027613a..f0d88b7bc229 100644 --- a/drivers/video/backlight/lm3533_bl.c +++ b/drivers/video/backlight/lm3533_bl.c @@ -34,6 +34,7 @@ struct lm3533_bl { u32 max_current; u32 pwm; + bool linear; }; @@ -247,8 +248,15 @@ static struct attribute_group lm3533_bl_attribute_group = { static int lm3533_bl_setup(struct lm3533_bl *bl) { + int id = lm3533_bl_get_ctrlbank_id(bl); int ret; + ret = regmap_update_bits(bl->lm3533->regmap, LM3533_REG_CTRLBANK_AB_BCONF, + CTRLBANK_AB_BCONF_MODE(id), + bl->linear ? CTRLBANK_AB_BCONF_MODE(id) : 0); + if (ret) + return ret; + ret = lm3533_ctrlbank_set_max_current(&bl->cb, bl->max_current); if (ret) return ret; @@ -299,6 +307,9 @@ static int lm3533_bl_probe(struct platform_device *pdev) device_property_read_u32(&pdev->dev, "default-brightness", &props.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.51.0
