Message ID | 1474837811-9413-3-git-send-email-wolfgit@wiedmeyer.de (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
On Sun, Sep 25, 2016 at 11:10:11PM +0200, Wolfgang Wiedmeyer wrote: > This patch reports the battery technology as Li-ion. > > Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de> > --- > drivers/power/max17042_battery.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/power/max17042_battery.c b/drivers/power/max17042_battery.c > index 20cb1fd..43cb5df 100644 > --- a/drivers/power/max17042_battery.c > +++ b/drivers/power/max17042_battery.c > @@ -92,6 +92,7 @@ static enum power_supply_property max17042_battery_props[] = { > POWER_SUPPLY_PROP_TEMP_MIN, > POWER_SUPPLY_PROP_TEMP_MAX, > POWER_SUPPLY_PROP_HEALTH, > + POWER_SUPPLY_PROP_TECHNOLOGY, > POWER_SUPPLY_PROP_CURRENT_NOW, > POWER_SUPPLY_PROP_CURRENT_AVG, > }; > @@ -296,6 +297,9 @@ static int max17042_get_property(struct power_supply *psy, > if (ret < 0) > return ret; > break; > + case POWER_SUPPLY_PROP_TECHNOLOGY: > + val->intval = POWER_SUPPLY_TECHNOLOGY_LION; How can you be sure it is always Li-Ion? For wearables and mobiles, rather yes, but the driver is also used in other devices. Technically, specs are saying it might be used also with Li-Poly applications. Best regards, Krzysztof -- To unsubscribe from this list: send the line "unsubscribe linux-pm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Krzysztof Kozlowski writes: > On Sun, Sep 25, 2016 at 11:10:11PM +0200, Wolfgang Wiedmeyer wrote: >> This patch reports the battery technology as Li-ion. >> >> Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de> >> --- >> drivers/power/max17042_battery.c | 4 ++++ >> 1 file changed, 4 insertions(+) >> >> diff --git a/drivers/power/max17042_battery.c b/drivers/power/max17042_battery.c >> index 20cb1fd..43cb5df 100644 >> --- a/drivers/power/max17042_battery.c >> +++ b/drivers/power/max17042_battery.c >> @@ -92,6 +92,7 @@ static enum power_supply_property max17042_battery_props[] = { >> POWER_SUPPLY_PROP_TEMP_MIN, >> POWER_SUPPLY_PROP_TEMP_MAX, >> POWER_SUPPLY_PROP_HEALTH, >> + POWER_SUPPLY_PROP_TECHNOLOGY, >> POWER_SUPPLY_PROP_CURRENT_NOW, >> POWER_SUPPLY_PROP_CURRENT_AVG, >> }; >> @@ -296,6 +297,9 @@ static int max17042_get_property(struct power_supply *psy, >> if (ret < 0) >> return ret; >> break; >> + case POWER_SUPPLY_PROP_TECHNOLOGY: >> + val->intval = POWER_SUPPLY_TECHNOLOGY_LION; > > How can you be sure it is always Li-Ion? For wearables and mobiles, rather yes, but > the driver is also used in other devices. Technically, specs are saying > it might be used also with Li-Poly applications. I suppose that there is no way to detect this. Would it be ok if I add an optional Device Tree property that allows to specify if it's Li-Ion or Li-Poly? If the property is not supplied, then "unknown" is returned. Thanks, Wolfgang
On Mon, Sep 26, 2016 at 02:56:44PM +0200, Wolfgang Wiedmeyer wrote: > > Krzysztof Kozlowski writes: > > > On Sun, Sep 25, 2016 at 11:10:11PM +0200, Wolfgang Wiedmeyer wrote: > >> This patch reports the battery technology as Li-ion. > >> > >> Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de> > >> --- > >> drivers/power/max17042_battery.c | 4 ++++ > >> 1 file changed, 4 insertions(+) > >> > >> diff --git a/drivers/power/max17042_battery.c b/drivers/power/max17042_battery.c > >> index 20cb1fd..43cb5df 100644 > >> --- a/drivers/power/max17042_battery.c > >> +++ b/drivers/power/max17042_battery.c > >> @@ -92,6 +92,7 @@ static enum power_supply_property max17042_battery_props[] = { > >> POWER_SUPPLY_PROP_TEMP_MIN, > >> POWER_SUPPLY_PROP_TEMP_MAX, > >> POWER_SUPPLY_PROP_HEALTH, > >> + POWER_SUPPLY_PROP_TECHNOLOGY, > >> POWER_SUPPLY_PROP_CURRENT_NOW, > >> POWER_SUPPLY_PROP_CURRENT_AVG, > >> }; > >> @@ -296,6 +297,9 @@ static int max17042_get_property(struct power_supply *psy, > >> if (ret < 0) > >> return ret; > >> break; > >> + case POWER_SUPPLY_PROP_TECHNOLOGY: > >> + val->intval = POWER_SUPPLY_TECHNOLOGY_LION; > > > > How can you be sure it is always Li-Ion? For wearables and mobiles, rather yes, but > > the driver is also used in other devices. Technically, specs are saying > > it might be used also with Li-Poly applications. > > I suppose that there is no way to detect this. Would it be ok if I add > an optional Device Tree property that allows to specify if it's Li-Ion > or Li-Poly? If the property is not supplied, then "unknown" is returned. I am not sure in such case what will be the benefit of exposing this to user-space... but it won't harm neither and sounds like a valid usage of DT properties. Fine with me. Best regards, Krzysztof -- To unsubscribe from this list: send the line "unsubscribe linux-pm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/power/max17042_battery.c b/drivers/power/max17042_battery.c index 20cb1fd..43cb5df 100644 --- a/drivers/power/max17042_battery.c +++ b/drivers/power/max17042_battery.c @@ -92,6 +92,7 @@ static enum power_supply_property max17042_battery_props[] = { POWER_SUPPLY_PROP_TEMP_MIN, POWER_SUPPLY_PROP_TEMP_MAX, POWER_SUPPLY_PROP_HEALTH, + POWER_SUPPLY_PROP_TECHNOLOGY, POWER_SUPPLY_PROP_CURRENT_NOW, POWER_SUPPLY_PROP_CURRENT_AVG, }; @@ -296,6 +297,9 @@ static int max17042_get_property(struct power_supply *psy, if (ret < 0) return ret; break; + case POWER_SUPPLY_PROP_TECHNOLOGY: + val->intval = POWER_SUPPLY_TECHNOLOGY_LION; + break; case POWER_SUPPLY_PROP_CURRENT_NOW: if (chip->pdata->enable_current_sense) { ret = regmap_read(map, MAX17042_Current, &data);
This patch reports the battery technology as Li-ion. Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de> --- drivers/power/max17042_battery.c | 4 ++++ 1 file changed, 4 insertions(+)