mfd: rn5t618: Register power off callback optionally
authorStefan Agner <stefan@agner.ch>
Wed, 29 Jun 2016 05:53:21 +0000 (22:53 -0700)
committerLee Jones <lee.jones@linaro.org>
Wed, 29 Jun 2016 09:11:35 +0000 (10:11 +0100)
Only register power off if the PMIC is defined as system power
controller (see Documentation/devicetree/bindings/power/
power-controller.txt).

Signed-off-by: Stefan Agner <stefan@agner.ch>
Reviewed-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/rn5t618.c

index c86160d3a773ea058bb29933001285f0d9c35d39..1831740d9016a72d6dd175823348d3579bf54dec 100644 (file)
@@ -102,9 +102,13 @@ static int rn5t618_i2c_probe(struct i2c_client *i2c,
                return ret;
        }
 
-       if (!pm_power_off) {
-               rn5t618_pm_power_off = priv;
-               pm_power_off = rn5t618_power_off;
+       if (of_device_is_system_power_controller(i2c->dev.of_node)) {
+               if (!pm_power_off) {
+                       rn5t618_pm_power_off = priv;
+                       pm_power_off = rn5t618_power_off;
+               } else {
+                       dev_warn(&i2c->dev, "Poweroff callback already assigned\n");
+               }
        }
 
        return 0;