Message ID | 20190709190007.91260-4-mka@chromium.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | backlight: Expose brightness curve type through sysfs | expand |
On Tue, 09 Jul 2019, Matthias Kaehlcke wrote: > For backlight curves calculated with the CIE 1931 algorithm set > the brightness scale type to non-linear. This makes the scale type > available to userspace via the 'scale' sysfs attribute. > > Signed-off-by: Matthias Kaehlcke <mka@chromium.org> > Tested-by: Enric Balletbo i Serra <enric.balletbo@collabora.com> > Acked-by: Daniel Thompson <daniel.thompson@linaro.org> > --- > Changes in v3: > - mark scale as non-linear instead of using the CIE1931 type which > has been removed > - updated commit message > > Changes in v2: > - added Enric's 'Tested-by' tag > - added Daniel's 'Acked-by' tag > --- > drivers/video/backlight/pwm_bl.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) Applied, thanks.
diff --git a/drivers/video/backlight/pwm_bl.c b/drivers/video/backlight/pwm_bl.c index fb45f866b923..7c6dfc4a601d 100644 --- a/drivers/video/backlight/pwm_bl.c +++ b/drivers/video/backlight/pwm_bl.c @@ -553,6 +553,8 @@ static int pwm_backlight_probe(struct platform_device *pdev) goto err_alloc; } + memset(&props, 0, sizeof(struct backlight_properties)); + if (data->levels) { /* * For the DT case, only when brightness levels is defined @@ -591,6 +593,8 @@ static int pwm_backlight_probe(struct platform_device *pdev) pb->levels = data->levels; } + + props.scale = BACKLIGHT_SCALE_NON_LINEAR; } else { /* * That only happens for the non-DT case, where platform data @@ -601,7 +605,6 @@ static int pwm_backlight_probe(struct platform_device *pdev) pb->lth_brightness = data->lth_brightness * (state.period / pb->scale); - memset(&props, 0, sizeof(struct backlight_properties)); props.type = BACKLIGHT_RAW; props.max_brightness = data->max_brightness; bl = backlight_device_register(dev_name(&pdev->dev), &pdev->dev, pb,