|
|
@@ -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;
|