Re: [PATCH v1 2/2] mfd: tps65910: Add restart handler
From: Lee Jones
Date: Tue Oct 27 2026 - 10:37:46 EST
--- checkpatch.pl: clean (0 issues) ---
On Thu, 15 Oct 2026, Svyatoslav Ryhel wrote:
> From: Dmitry Osipenko <digetx@xxxxxxxxx>
>
> Add restart handler to reset hardware properly on system reboot.
>
> Tested-by: Svyatoslav Ryhel <clamor95@xxxxxxxxx> # ASUS TF201
> Tested-by: Maxim Schwalm <maxim.schwalm@xxxxxxxxx> # ASUS TF700T
> Signed-off-by: Dmitry Osipenko <digetx@xxxxxxxxx>
> Signed-off-by: Svyatoslav Ryhel <clamor95@xxxxxxxxx>
> ---
> drivers/mfd/tps65910.c | 22 ++++++++++++++++++++++
> 1 file changed, 22 insertions(+)
>
> diff --git a/drivers/mfd/tps65910.c b/drivers/mfd/tps65910.c
> index 18b76359046b8..a1734fee1485a 100644
> --- a/drivers/mfd/tps65910.c
> +++ b/drivers/mfd/tps65910.c
> @@ -440,6 +440,20 @@ static int tps65910_power_off(struct sys_off_data *data)
> return NOTIFY_DONE;
> }
>
> +static int tps65910_restart(struct sys_off_data *data)
> +{
> + struct i2c_client *tps65910_i2c_client = data->cb_data;
> + struct tps65910 *tps65910;
> +
> + tps65910 = dev_get_drvdata(&tps65910_i2c_client->dev);
Same here.
> +
> + regmap_update_bits(tps65910->regmap, TPS65910_DEVCTRL,
> + DEVCTRL_DEV_OFF_RST_MASK | DEVCTRL_DEV_ON_MASK,
> + DEVCTRL_DEV_OFF_RST_MASK);
> +
> + return NOTIFY_DONE;
> +}
> +
> static int tps65910_i2c_probe(struct i2c_client *i2c)
> {
> const struct i2c_device_id *id = i2c_client_get_device_id(i2c);
> @@ -525,6 +539,14 @@ static int tps65910_i2c_probe(struct i2c_client *i2c)
> "failed to register power-off handler: %d\n", ret);
> return ret;
> }
> +
> + ret = devm_register_restart_handler(&i2c->dev,
> + tps65910_restart, i2c);
> + if (ret) {
> + dev_err(&i2c->dev,
> + "failed to register restart handler: %d\n", ret);
> + return ret;
And here.
> + }
> }
>
> ret = devm_mfd_add_devices(tps65910->dev, -1,
> --
> 2.53.0
>
--
Lee Jones