OSDN Git Service

backlight: rave-sp: Leave initial state and register with correct device
authorLucas Stach <l.stach@pengutronix.de>
Mon, 8 Jul 2019 12:41:29 +0000 (14:41 +0200)
committerLee Jones <lee.jones@linaro.org>
Mon, 12 Aug 2019 08:11:10 +0000 (09:11 +0100)
This way the backlight can be referenced through its device node and
enabling/disabling can be managed through the panel driver.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/video/backlight/rave-sp-backlight.c

index 462f14a..05b5f00 100644 (file)
@@ -48,14 +48,20 @@ static int rave_sp_backlight_probe(struct platform_device *pdev)
        struct device *dev = &pdev->dev;
        struct backlight_device *bd;
 
-       bd = devm_backlight_device_register(dev, pdev->name, dev->parent,
+       bd = devm_backlight_device_register(dev, pdev->name, dev,
                                            dev_get_drvdata(dev->parent),
                                            &rave_sp_backlight_ops,
                                            &rave_sp_backlight_props);
        if (IS_ERR(bd))
                return PTR_ERR(bd);
 
-       backlight_update_status(bd);
+       /*
+        * If there is a phandle pointing to the device node we can
+        * assume that another device will manage the status changes.
+        * If not we make sure the backlight is in a consistent state.
+        */
+       if (!dev->of_node->phandle)
+               backlight_update_status(bd);
 
        return 0;
 }