backlight: pm8941-wled: Add default-brightness property
Default the brightness to 2048 and add possibility to override this in device tree. Suggested-by: Rob Clark <robdclark@gmail.com> Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com> Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Lee Jones <lee.jones@linaro.org>
This commit is contained in:
Родитель
fc18111b89
Коммит
9d6c243502
|
@ -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 @@
|
||||||
#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)
|
||||||
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)
|
||||||
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,
|
||||||
|
|
Загрузка…
Ссылка в новой задаче