Re: [PATCH] power: supply: bq25630: Release battery information after setup

Waqar Hameed <[email protected]>
Newsgroups org.kernel.vger.linux-pm
Message-ID <[email protected]>
On Mon, Jul 27, 2026 at 17:37 +0800 Linmao Li <[email protected]> wrote:

> data->batinfo is only used by bq25630_setup() to program the initial
> charge limits, but power_supply_get_battery_info() allocates it on
> psy->dev, so it stays around for the lifetime of the device. Nothing
> else in the driver uses it. Release it right after setup, as bq256xx
> and bq257xx do.
>
> Signed-off-by: Linmao Li <[email protected]>
> ---
>  drivers/power/supply/bq25630_charger.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/power/supply/bq25630_charger.c b/drivers/power/supply/bq25630_charger.c
> index 165f8c67b4895..efcdb1f5bc351 100644
> --- a/drivers/power/supply/bq25630_charger.c
> +++ b/drivers/power/supply/bq25630_charger.c
> @@ -1045,10 +1045,9 @@ static int bq25630_probe(struct i2c_client *client)
>  		return dev_err_probe(data->dev, ret, "Could not request IRQ\n");
>  
>  	ret = bq25630_setup(data);
> -	if (ret)
> -		return ret;
> +	power_supply_put_battery_info(data->psy, data->batinfo);
>  
> -	return 0;
> +	return ret;
>  }
>  
>  static const struct of_device_id bq25630_of_match[] = {

The initial thought was that `batinfo` could/would be used elsewhere,
but as you point out, it's currently not. A better design is then to
move the `power_supply_get_battery_info()` into `bq25630_setup()`, in
order to scope the `get/put()`. So let's get `batinfo` there, just
before using it, and have an error/clean-up-path there as well.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.