Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/drivers/video/backlight/backlight.c b/drivers/video/backlight/backlight.c
- index bddc8b17a4d8..76470de1c780 100644
- --- a/drivers/video/backlight/backlight.c
- +++ b/drivers/video/backlight/backlight.c
- @@ -564,6 +564,15 @@ struct backlight_device *of_find_backlight_by_node(struct device_node *node)
- return dev ? to_backlight_device(dev) : NULL;
- }
- EXPORT_SYMBOL(of_find_backlight_by_node);
- +
- +int of_backlight_initial_power_state(struct device_node *node)
- +{
- + if (of_property_read_bool(node, "default-off"))
- + return FB_BLANK_POWERDOWN;
- +
- + return FB_BLANK_UNBLANK;
- +}
- +EXPORT_SYMBOL(of_backlight_initial_power_state);
- #endif
- static void __exit backlight_class_exit(void)
- diff --git a/drivers/video/backlight/pwm_bl.c b/drivers/video/backlight/pwm_bl.c
- index ae3c6b6fd5db..fabcf0f20a13 100644
- --- a/drivers/video/backlight/pwm_bl.c
- +++ b/drivers/video/backlight/pwm_bl.c
- @@ -320,6 +320,7 @@ static int pwm_backlight_probe(struct platform_device *pdev)
- }
- bl->props.brightness = data->dft_brightness;
- + bl->props.power = of_backlight_initial_power_state(pdev->dev.of_node);
- backlight_update_status(bl);
- platform_set_drvdata(pdev, bl);
- diff --git a/include/linux/backlight.h b/include/linux/backlight.h
- index 1e7a69adbe6f..0981401fa858 100644
- --- a/include/linux/backlight.h
- +++ b/include/linux/backlight.h
- @@ -163,12 +163,18 @@ struct generic_bl_info {
- #ifdef CONFIG_OF
- struct backlight_device *of_find_backlight_by_node(struct device_node *node);
- +int of_backlight_initial_power_state(struct device_node *node);
- #else
- static inline struct backlight_device *
- of_find_backlight_by_node(struct device_node *node)
- {
- return NULL;
- }
- +
- +static inline int of_backlight_initial_power_state(struct device_node *node)
- +{
- + return FB_BLANK_UNBLANK;
- +}
- #endif
- #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement