ANDROID: power: power_supply: Add property CHARGE_COUNTER_EXT and 64-bit precision properties
Add POWER_SUPPLY_PROP_CHARGE_COUNTER_EXT that stores accumulated charge in nAh units as a signed 64-bit value. Add generic support for signed 64-bit property values. Change-Id: I2bd34b1e95ffba24e7bfef81f398f22bd2aaf05e Signed-off-by: Todd Poynor <toddpoynor@google.com>
This commit is contained in:
parent
10152c2650
commit
6a42773954
2 changed files with 9 additions and 0 deletions
|
@ -171,6 +171,9 @@ static ssize_t power_supply_show_property(struct device *dev,
|
||||||
ret = sprintf(buf, "%s\n",
|
ret = sprintf(buf, "%s\n",
|
||||||
power_supply_scope_text[value.intval]);
|
power_supply_scope_text[value.intval]);
|
||||||
break;
|
break;
|
||||||
|
case POWER_SUPPLY_PROP_CHARGE_COUNTER_EXT:
|
||||||
|
ret = sprintf(buf, "%lld\n", value.int64val);
|
||||||
|
break;
|
||||||
case POWER_SUPPLY_PROP_MODEL_NAME ... POWER_SUPPLY_PROP_SERIAL_NUMBER:
|
case POWER_SUPPLY_PROP_MODEL_NAME ... POWER_SUPPLY_PROP_SERIAL_NUMBER:
|
||||||
ret = sprintf(buf, "%s\n", value.strval);
|
ret = sprintf(buf, "%s\n", value.strval);
|
||||||
break;
|
break;
|
||||||
|
@ -306,6 +309,8 @@ static struct device_attribute power_supply_attrs[] = {
|
||||||
POWER_SUPPLY_ATTR(usb_hc),
|
POWER_SUPPLY_ATTR(usb_hc),
|
||||||
POWER_SUPPLY_ATTR(usb_otg),
|
POWER_SUPPLY_ATTR(usb_otg),
|
||||||
POWER_SUPPLY_ATTR(charge_enabled),
|
POWER_SUPPLY_ATTR(charge_enabled),
|
||||||
|
/* Local extensions of type int64_t */
|
||||||
|
POWER_SUPPLY_ATTR(charge_counter_ext),
|
||||||
/* Properties of type `const char *' */
|
/* Properties of type `const char *' */
|
||||||
POWER_SUPPLY_ATTR(model_name),
|
POWER_SUPPLY_ATTR(model_name),
|
||||||
POWER_SUPPLY_ATTR(manufacturer),
|
POWER_SUPPLY_ATTR(manufacturer),
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
#include <linux/leds.h>
|
#include <linux/leds.h>
|
||||||
#include <linux/spinlock.h>
|
#include <linux/spinlock.h>
|
||||||
#include <linux/notifier.h>
|
#include <linux/notifier.h>
|
||||||
|
#include <linux/types.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* All voltages, currents, charges, energies, time and temperatures in uV,
|
* All voltages, currents, charges, energies, time and temperatures in uV,
|
||||||
|
@ -154,6 +155,8 @@ enum power_supply_property {
|
||||||
POWER_SUPPLY_PROP_USB_HC,
|
POWER_SUPPLY_PROP_USB_HC,
|
||||||
POWER_SUPPLY_PROP_USB_OTG,
|
POWER_SUPPLY_PROP_USB_OTG,
|
||||||
POWER_SUPPLY_PROP_CHARGE_ENABLED,
|
POWER_SUPPLY_PROP_CHARGE_ENABLED,
|
||||||
|
/* Local extensions of type int64_t */
|
||||||
|
POWER_SUPPLY_PROP_CHARGE_COUNTER_EXT,
|
||||||
/* Properties of type `const char *' */
|
/* Properties of type `const char *' */
|
||||||
POWER_SUPPLY_PROP_MODEL_NAME,
|
POWER_SUPPLY_PROP_MODEL_NAME,
|
||||||
POWER_SUPPLY_PROP_MANUFACTURER,
|
POWER_SUPPLY_PROP_MANUFACTURER,
|
||||||
|
@ -195,6 +198,7 @@ enum power_supply_notifier_events {
|
||||||
union power_supply_propval {
|
union power_supply_propval {
|
||||||
int intval;
|
int intval;
|
||||||
const char *strval;
|
const char *strval;
|
||||||
|
int64_t int64val;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct device_node;
|
struct device_node;
|
||||||
|
|
Loading…
Reference in a new issue