Skip to content

Commit

Permalink
power: supply: axp20x_battery: Use scaled iio_read_channel
Browse files Browse the repository at this point in the history
Change iio_read_channel_processed to iio_read_channel_processed_scale
where appropriate.

Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
Link: https://lore.kernel.org/r/20241023184800.109376-3-macroalpha82@gmail.com
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
  • Loading branch information
Chris Morgan authored and Sebastian Reichel committed Nov 11, 2024
1 parent 9fdd97d commit 1d3db2d
Showing 1 changed file with 17 additions and 16 deletions.
33 changes: 17 additions & 16 deletions drivers/power/supply/axp20x_battery.c
Original file line number Diff line number Diff line change
Expand Up @@ -354,17 +354,18 @@ static int axp20x_battery_get_prop(struct power_supply *psy,
if (ret)
return ret;

/* IIO framework gives mA but Power Supply framework gives uA */
if (reg & AXP20X_PWR_STATUS_BAT_CHARGING) {
ret = iio_read_channel_processed(axp20x_batt->batt_chrg_i, &val->intval);
ret = iio_read_channel_processed_scale(axp20x_batt->batt_chrg_i,
&val->intval, 1000);
} else {
ret = iio_read_channel_processed(axp20x_batt->batt_dischrg_i, &val1);
ret = iio_read_channel_processed_scale(axp20x_batt->batt_dischrg_i,
&val1, 1000);
val->intval = -val1;
}
if (ret)
return ret;

/* IIO framework gives mA but Power Supply framework gives uA */
val->intval *= 1000;
break;

case POWER_SUPPLY_PROP_CAPACITY:
Expand Down Expand Up @@ -406,13 +407,12 @@ static int axp20x_battery_get_prop(struct power_supply *psy,
break;

case POWER_SUPPLY_PROP_VOLTAGE_NOW:
ret = iio_read_channel_processed(axp20x_batt->batt_v,
&val->intval);
/* IIO framework gives mV but Power Supply framework gives uV */
ret = iio_read_channel_processed_scale(axp20x_batt->batt_v,
&val->intval, 1000);
if (ret)
return ret;

/* IIO framework gives mV but Power Supply framework gives uV */
val->intval *= 1000;
break;

default:
Expand Down Expand Up @@ -519,13 +519,15 @@ static int axp717_battery_get_prop(struct power_supply *psy,
* The offset of this value is currently unknown and is
* not documented in the datasheet. Based on
* observation it's assumed to be somewhere around
* 450ma. I will leave the value raw for now.
* 450ma. I will leave the value raw for now. Note that
* IIO framework gives mA but Power Supply framework
* gives uA.
*/
ret = iio_read_channel_processed(axp20x_batt->batt_chrg_i, &val->intval);
ret = iio_read_channel_processed_scale(axp20x_batt->batt_chrg_i,
&val->intval, 1000);
if (ret)
return ret;
/* IIO framework gives mA but Power Supply framework gives uA */
val->intval *= 1000;

return 0;

case POWER_SUPPLY_PROP_CAPACITY:
Expand Down Expand Up @@ -564,13 +566,12 @@ static int axp717_battery_get_prop(struct power_supply *psy,
return 0;

case POWER_SUPPLY_PROP_VOLTAGE_NOW:
ret = iio_read_channel_processed(axp20x_batt->batt_v,
&val->intval);
/* IIO framework gives mV but Power Supply framework gives uV */
ret = iio_read_channel_processed_scale(axp20x_batt->batt_v,
&val->intval, 1000);
if (ret)
return ret;

/* IIO framework gives mV but Power Supply framework gives uV */
val->intval *= 1000;
return 0;

case POWER_SUPPLY_PROP_CHARGE_TERM_CURRENT:
Expand Down

0 comments on commit 1d3db2d

Please sign in to comment.