mfd: rk808: Ensure suspend/resume hooks always work
authorRobin Murphy <robin.murphy@arm.com>
Sun, 12 Jan 2020 01:55:01 +0000 (01:55 +0000)
committerLee Jones <lee.jones@linaro.org>
Mon, 30 Mar 2020 06:35:27 +0000 (07:35 +0100)
The RK809/RK817 suspend/resume hooks should not have to depend on
whether this driver owns the pm_power_off hook, and thus the global
rk808_i2c_client is set - indeed, the GPIO-based control is really
only relevant when PSCI firmware is in charge of power rather than
the kernel. As driver model callbacks, they have an appropriate
device argument to hand, so can just always use that.

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/rk808.c

index 616e44e..ac79805 100644 (file)
@@ -712,7 +712,7 @@ static int rk808_remove(struct i2c_client *client)
 
 static int __maybe_unused rk8xx_suspend(struct device *dev)
 {
-       struct rk808 *rk808 = i2c_get_clientdata(rk808_i2c_client);
+       struct rk808 *rk808 = i2c_get_clientdata(to_i2c_client(dev));
        int ret = 0;
 
        switch (rk808->variant) {
@@ -732,7 +732,7 @@ static int __maybe_unused rk8xx_suspend(struct device *dev)
 
 static int __maybe_unused rk8xx_resume(struct device *dev)
 {
-       struct rk808 *rk808 = i2c_get_clientdata(rk808_i2c_client);
+       struct rk808 *rk808 = i2c_get_clientdata(to_i2c_client(dev));
        int ret = 0;
 
        switch (rk808->variant) {