[PATCH v2 2/2] mfd: tps65219: Make poweroff handler conditional on system-power-controller
Akashdeep Kaur
a-kaur at ti.com
Wed Apr 1 04:24:12 PDT 2026
Hi Lee,
On 31/03/26 15:42, Lee Jones wrote:
> ---
>
> On Tue, 24 Mar 2026, Akashdeep Kaur wrote:
>
>> 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 at ti.com>
>> ---
>> drivers/mfd/tps65219.c | 14 ++++++++------
>> 1 file changed, 8 insertions(+), 6 deletions(-)
>>
>> diff --git a/drivers/mfd/tps65219.c b/drivers/mfd/tps65219.c
>> index 7275dcdb7c44..6fa202339a0c 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");
>
> Couple of nits to fix.
>
> The `"` should be aligned with the `(` and the `failed` should be capitalised.
Fixed the formatting issues.
>
>> }
>> +
>> return 0;
>> }
>>
>> --
>> 2.34.1
>>
>
Regards,
Akashdeep Kaur
More information about the linux-arm-kernel
mailing list