Hi,
On Wed, Feb 28, 2024 at 08:58:41AM +0200, Sicelo A. Mhlongo wrote:
> Provide the Online property. This chip does not have specific flags to
> indicate the presence of an input voltage, but this is implied by all valid
> charging states. Fault states also imply the presence of VBUS, therefore
> set Online true for those as well, taking care to not set it when i2c
> reads have failed.
>
> Signed-off-by: Sicelo A. Mhlongo <absicsz@???>
> ---
> drivers/power/supply/bq2415x_charger.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/drivers/power/supply/bq2415x_charger.c b/drivers/power/supply/bq2415x_charger.c
> index 6a4798a62588..8f24a33f0338 100644
> --- a/drivers/power/supply/bq2415x_charger.c
> +++ b/drivers/power/supply/bq2415x_charger.c
> @@ -991,6 +991,7 @@ static enum power_supply_property bq2415x_power_supply_props[] = {
> /* TODO: maybe add more power supply properties */
> POWER_SUPPLY_PROP_STATUS,
> POWER_SUPPLY_PROP_MODEL_NAME,
> + POWER_SUPPLY_PROP_ONLINE,
> };
>
> static int bq2415x_power_supply_get_property(struct power_supply *psy,
> @@ -1017,6 +1018,14 @@ static int bq2415x_power_supply_get_property(struct power_supply *psy,
> case POWER_SUPPLY_PROP_MODEL_NAME:
> val->strval = bq->model;
> break;
> + case POWER_SUPPLY_PROP_ONLINE:
> + /* VBUS is present for all charging and fault states,
> + * except the 'Ready' state. On all i2c read errors, the
> + * Online state cannot be determined.
> + */
> + ret = bq2415x_exec_command(bq, BQ2415X_CHARGE_STATUS);
Please forward errors, instead of silently ignoring them.
if (ret < 0)
return ret;
Otherwise LGTM.
-- Sebastian
> + val->intval = ret > 0;
> + break;
> default:
> return -EINVAL;
> }
> --
> 2.43.0
>