power: Add property CHARGE_COUNTER_EXT and 64-bit precision properties
[firefly-linux-kernel-4.4.55.git] / drivers / power / power_supply_sysfs.c
index 6725a7f6a9a9ebf33ee3042e8947d30f6a5e3458..280018d59d5a60fab0b7d97145bbff25761bd8aa 100644 (file)
@@ -106,7 +106,10 @@ static ssize_t power_supply_show_property(struct device *dev,
        else if (off >= POWER_SUPPLY_PROP_MODEL_NAME)
                return sprintf(buf, "%s\n", value.strval);
 
-       return sprintf(buf, "%d\n", value.intval);
+       if (off == POWER_SUPPLY_PROP_CHARGE_COUNTER_EXT)
+               return sprintf(buf, "%lld\n", value.int64val);
+       else
+               return sprintf(buf, "%d\n", value.intval);
 }
 
 static ssize_t power_supply_store_property(struct device *dev,
@@ -201,6 +204,8 @@ static struct device_attribute power_supply_attrs[] = {
        POWER_SUPPLY_ATTR(usb_hc),
        POWER_SUPPLY_ATTR(usb_otg),
        POWER_SUPPLY_ATTR(charge_enabled),
+       /* Local extensions of type int64_t */
+       POWER_SUPPLY_ATTR(charge_counter_ext),
        /* Properties of type `const char *' */
        POWER_SUPPLY_ATTR(model_name),
        POWER_SUPPLY_ATTR(manufacturer),