summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAkashdeep Kaur <a-kaur@ti.com>2026-04-01 14:22:57 +0300
committerLee Jones <lee@kernel.org>2026-06-17 13:30:19 +0300
commit104cd764a031bfe2ffe253adce9581384a78c16e (patch)
tree5a6275557e018c858147246a9e44e2f0b65b3759
parentf5f40b828179361862cac6c9d3c0e975e573dc3e (diff)
downloadlinux-104cd764a031bfe2ffe253adce9581384a78c16e.tar.xz
mfd: tps65219: Make poweroff handler conditional on system-power-controller
Currently, the TPS65219 driver unconditionally registers a poweroff handler. This causes issues on systems where a different component (such as TF-A firmware) should handle system poweroff instead. Make the poweroff handler registration conditional based on the "system-power-controller" device tree property. This follows the standard kernel pattern where only the designated power controller registers for system poweroff operations. On systems where the property is absent, the PMIC will not register a poweroff handler, allowing other poweroff mechanisms to function. Signed-off-by: Akashdeep Kaur <a-kaur@ti.com> Link: https://patch.msgid.link/20260401112257.1248437-3-a-kaur@ti.com Signed-off-by: Lee Jones <lee@kernel.org>
-rw-r--r--drivers/mfd/tps65219.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/mfd/tps65219.c b/drivers/mfd/tps65219.c
index 7275dcdb7c44..e52fbf1481fe 100644
--- a/drivers/mfd/tps65219.c
+++ b/drivers/mfd/tps65219.c
@@ -541,13 +541,15 @@ static int tps65219_probe(struct i2c_client *client)
return ret;
}
- ret = devm_register_power_off_handler(tps->dev,
- tps65219_power_off_handler,
- tps);
- if (ret) {
- dev_err(tps->dev, "failed to register power-off handler: %d\n", ret);
- return ret;
+ if (of_device_is_system_power_controller(tps->dev->of_node)) {
+ ret = devm_register_power_off_handler(tps->dev,
+ tps65219_power_off_handler,
+ tps);
+ if (ret)
+ return dev_err_probe(tps->dev, ret,
+ "Failed to register power-off handler\n");
}
+
return 0;
}