Skip to content

Commit

Permalink
backlight: pwm_bl: Set scale type for CIE 1931 curves
Browse files Browse the repository at this point in the history
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>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
  • Loading branch information
Matthias Kaehlcke authored and Lee Jones committed Sep 2, 2019
1 parent d55c028 commit 511a204
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion drivers/video/backlight/pwm_bl.c
Original file line number Diff line number Diff line change
Expand Up @@ -536,6 +536,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
Expand Down Expand Up @@ -574,6 +576,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
Expand All @@ -584,7 +588,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,
Expand Down

0 comments on commit 511a204

Please sign in to comment.