Commit 9d6c2435 authored by Bjorn Andersson's avatar Bjorn Andersson Committed by Lee Jones

backlight: pm8941-wled: Add default-brightness property

Default the brightness to 2048 and add possibility to override this in
device tree.
Suggested-by: default avatarRob Clark <robdclark@gmail.com>
Signed-off-by: default avatarBjorn Andersson <bjorn.andersson@sonymobile.com>
Acked-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
parent fc18111b
...@@ -5,6 +5,8 @@ Required properties: ...@@ -5,6 +5,8 @@ Required properties:
- reg: slave address - reg: slave address
Optional properties: Optional properties:
- default-brightness: brightness value on boot, value from: 0-4095
default: 2048
- label: The name of the backlight device - label: The name of the backlight device
- qcom,cs-out: bool; enable current sink output - qcom,cs-out: bool; enable current sink output
- qcom,cabc: bool; enable content adaptive backlight control - qcom,cabc: bool; enable content adaptive backlight control
......
...@@ -17,6 +17,9 @@ ...@@ -17,6 +17,9 @@
#include <linux/of_device.h> #include <linux/of_device.h>
#include <linux/regmap.h> #include <linux/regmap.h>
/* From DT binding */
#define PM8941_WLED_DEFAULT_BRIGHTNESS 2048
#define PM8941_WLED_REG_VAL_BASE 0x40 #define PM8941_WLED_REG_VAL_BASE 0x40
#define PM8941_WLED_REG_VAL_MAX 0xFFF #define PM8941_WLED_REG_VAL_MAX 0xFFF
...@@ -373,6 +376,7 @@ static int pm8941_wled_probe(struct platform_device *pdev) ...@@ -373,6 +376,7 @@ static int pm8941_wled_probe(struct platform_device *pdev)
struct backlight_device *bl; struct backlight_device *bl;
struct pm8941_wled *wled; struct pm8941_wled *wled;
struct regmap *regmap; struct regmap *regmap;
u32 val;
int rc; int rc;
regmap = dev_get_regmap(pdev->dev.parent, NULL); regmap = dev_get_regmap(pdev->dev.parent, NULL);
...@@ -395,8 +399,12 @@ static int pm8941_wled_probe(struct platform_device *pdev) ...@@ -395,8 +399,12 @@ static int pm8941_wled_probe(struct platform_device *pdev)
if (rc) if (rc)
return rc; return rc;
val = PM8941_WLED_DEFAULT_BRIGHTNESS;
of_property_read_u32(pdev->dev.of_node, "default-brightness", &val);
memset(&props, 0, sizeof(struct backlight_properties)); memset(&props, 0, sizeof(struct backlight_properties));
props.type = BACKLIGHT_RAW; props.type = BACKLIGHT_RAW;
props.brightness = val;
props.max_brightness = PM8941_WLED_REG_VAL_MAX; props.max_brightness = PM8941_WLED_REG_VAL_MAX;
bl = devm_backlight_device_register(&pdev->dev, wled->name, bl = devm_backlight_device_register(&pdev->dev, wled->name,
&pdev->dev, wled, &pdev->dev, wled,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment