Message ID | 20230314225535.1321736-11-sre@kernel.org |
---|---|
State | Superseded |
Headers | show |
Series | Add DT support for generic ADC battery | expand |
On 3/15/23 00:55, Sebastian Reichel wrote: > From: Sebastian Reichel <sebastian.reichel@collabora.com> > > Another typical thing to monitor via an ADC line is > the battery temperature. > > Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com> Reviewed-by: Matti Vaittinen <mazziesaccount@gmail.com> > --- > drivers/power/supply/generic-adc-battery.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/drivers/power/supply/generic-adc-battery.c b/drivers/power/supply/generic-adc-battery.c > index 4811e72df8cd..0124d8d51af7 100644 > --- a/drivers/power/supply/generic-adc-battery.c > +++ b/drivers/power/supply/generic-adc-battery.c > @@ -30,6 +30,7 @@ enum gab_chan_type { > GAB_VOLTAGE = 0, > GAB_CURRENT, > GAB_POWER, > + GAB_TEMP, > GAB_MAX_CHAN_TYPE > }; > > @@ -40,7 +41,8 @@ enum gab_chan_type { > static const char *const gab_chan_name[] = { > [GAB_VOLTAGE] = "voltage", > [GAB_CURRENT] = "current", > - [GAB_POWER] = "power", > + [GAB_POWER] = "power", > + [GAB_TEMP] = "temperature", > }; > > struct gab { > @@ -77,6 +79,7 @@ static const enum power_supply_property gab_dyn_props[] = { > POWER_SUPPLY_PROP_VOLTAGE_NOW, > POWER_SUPPLY_PROP_CURRENT_NOW, > POWER_SUPPLY_PROP_POWER_NOW, > + POWER_SUPPLY_PROP_TEMP, > }; > > static bool gab_charge_finished(struct gab *adc_bat) > @@ -115,6 +118,8 @@ static int gab_get_property(struct power_supply *psy, > return read_channel(adc_bat, GAB_CURRENT, &val->intval); > case POWER_SUPPLY_PROP_POWER_NOW: > return read_channel(adc_bat, GAB_POWER, &val->intval); > + case POWER_SUPPLY_PROP_TEMP: > + return read_channel(adc_bat, GAB_TEMP, &val->intval); > default: > return -EINVAL; > }
diff --git a/drivers/power/supply/generic-adc-battery.c b/drivers/power/supply/generic-adc-battery.c index 4811e72df8cd..0124d8d51af7 100644 --- a/drivers/power/supply/generic-adc-battery.c +++ b/drivers/power/supply/generic-adc-battery.c @@ -30,6 +30,7 @@ enum gab_chan_type { GAB_VOLTAGE = 0, GAB_CURRENT, GAB_POWER, + GAB_TEMP, GAB_MAX_CHAN_TYPE }; @@ -40,7 +41,8 @@ enum gab_chan_type { static const char *const gab_chan_name[] = { [GAB_VOLTAGE] = "voltage", [GAB_CURRENT] = "current", - [GAB_POWER] = "power", + [GAB_POWER] = "power", + [GAB_TEMP] = "temperature", }; struct gab { @@ -77,6 +79,7 @@ static const enum power_supply_property gab_dyn_props[] = { POWER_SUPPLY_PROP_VOLTAGE_NOW, POWER_SUPPLY_PROP_CURRENT_NOW, POWER_SUPPLY_PROP_POWER_NOW, + POWER_SUPPLY_PROP_TEMP, }; static bool gab_charge_finished(struct gab *adc_bat) @@ -115,6 +118,8 @@ static int gab_get_property(struct power_supply *psy, return read_channel(adc_bat, GAB_CURRENT, &val->intval); case POWER_SUPPLY_PROP_POWER_NOW: return read_channel(adc_bat, GAB_POWER, &val->intval); + case POWER_SUPPLY_PROP_TEMP: + return read_channel(adc_bat, GAB_TEMP, &val->intval); default: return -EINVAL; }