aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-10-07 04:29:24 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-10-07 04:29:24 -0400
commite665faa424a4a782aa986274920c1fc5b76f5560 (patch)
tree2cf64abadecbbeadcffc02cb7671cb593fc45488 /include/linux
parentca4da6948bc6a7010ecf916dad528c177dcb9a81 (diff)
parent18766f0936d444fd7ff2e0064bd6e69a89d5c6fc (diff)
Merge tag 'for-v3.7' of git://git.infradead.org/battery-2.6
Pull battery updates from Anton Vorontsov: "1. New drivers: - Marvell 88pm860x charger and battery drivers; - Texas Instruments LP8788 charger driver; 2. Two new power supply properties: whether a battery is authentic, and chargers' maximal currents and voltages; 3. A lot of TI LP8727 Charger cleanups; 4. New features for Charger Manager, mainly now we can disable specific regulators; 5. Random fixes and cleanups for other drivers." Fix up trivial conflicts in <linux/mfd/88pm860x.h> * tag 'for-v3.7' of git://git.infradead.org/battery-2.6: (52 commits) pda_power: Remove ac_draw_failed goto and label charger-manager: Add support sysfs entry for charger charger-manager: Support limit of maximum possible charger-manager: Check fully charged state of battery periodically lp8727_charger: More pure cosmetic improvements lp8727_charger: Fix checkpatch warning lp8727_charger: Add description in the private data lp8727_charger: Fix a typo - chg_parm to chg_param lp8727_charger: Make some cosmetic changes in lp8727_delayed_func() lp8727_charger: Clean up lp8727_charger_changed() lp8727_charger: Return if the battery is discharging lp8727_charger: Make lp8727_charger_get_propery() simpler lp8727_charger: Make lp8727_ctrl_switch() inline lp8727_charger: Make lp8727_init_device() shorter lp8727_charger: Clean up lp8727_is_charger_attached() lp8727_charger: Use specific definition lp8727_charger: Clean up lp8727 definitions lp8727_charger: Use the definition rather than enum lp8727_charger: Fix code for getting battery temp lp8727_charger: Clear interrrupts at inital time ...
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/mfd/88pm860x.h84
-rw-r--r--include/linux/platform_data/lp8727.h51
-rw-r--r--include/linux/power/charger-manager.h47
-rw-r--r--include/linux/power_supply.h5
4 files changed, 157 insertions, 30 deletions
diff --git a/include/linux/mfd/88pm860x.h b/include/linux/mfd/88pm860x.h
index ef3e6b701179..cd97530205c2 100644
--- a/include/linux/mfd/88pm860x.h
+++ b/include/linux/mfd/88pm860x.h
@@ -39,6 +39,21 @@ enum {
39#define PM8606_DCM_BOOST (0x00) 39#define PM8606_DCM_BOOST (0x00)
40#define PM8606_PWM (0x01) 40#define PM8606_PWM (0x01)
41 41
42#define PM8607_MISC2 (0x42)
43
44/* Power Up Log Register */
45#define PM8607_POWER_UP_LOG (0x3F)
46
47/* Charger Control Registers */
48#define PM8607_CCNT (0x47)
49#define PM8607_CHG_CTRL1 (0x48)
50#define PM8607_CHG_CTRL2 (0x49)
51#define PM8607_CHG_CTRL3 (0x4A)
52#define PM8607_CHG_CTRL4 (0x4B)
53#define PM8607_CHG_CTRL5 (0x4C)
54#define PM8607_CHG_CTRL6 (0x4D)
55#define PM8607_CHG_CTRL7 (0x4E)
56
42/* Backlight Registers */ 57/* Backlight Registers */
43#define PM8606_WLED1A (0x02) 58#define PM8606_WLED1A (0x02)
44#define PM8606_WLED1B (0x03) 59#define PM8606_WLED1B (0x03)
@@ -189,6 +204,71 @@ enum {
189#define PM8607_PD_PREBIAS (0x56) /* prebias time */ 204#define PM8607_PD_PREBIAS (0x56) /* prebias time */
190#define PM8607_GPADC_MISC1 (0x57) 205#define PM8607_GPADC_MISC1 (0x57)
191 206
207/* bit definitions of MEAS_EN1*/
208#define PM8607_MEAS_EN1_VBAT (1 << 0)
209#define PM8607_MEAS_EN1_VCHG (1 << 1)
210#define PM8607_MEAS_EN1_VSYS (1 << 2)
211#define PM8607_MEAS_EN1_TINT (1 << 3)
212#define PM8607_MEAS_EN1_RFTMP (1 << 4)
213#define PM8607_MEAS_EN1_TBAT (1 << 5)
214#define PM8607_MEAS_EN1_GPADC2 (1 << 6)
215#define PM8607_MEAS_EN1_GPADC3 (1 << 7)
216
217/* Battery Monitor Registers */
218#define PM8607_GP_BIAS2 (0x5A)
219#define PM8607_VBAT_LOWTH (0x5B)
220#define PM8607_VCHG_LOWTH (0x5C)
221#define PM8607_VSYS_LOWTH (0x5D)
222#define PM8607_TINT_LOWTH (0x5E)
223#define PM8607_GPADC0_LOWTH (0x5F)
224#define PM8607_GPADC1_LOWTH (0x60)
225#define PM8607_GPADC2_LOWTH (0x61)
226#define PM8607_GPADC3_LOWTH (0x62)
227#define PM8607_VBAT_HIGHTH (0x63)
228#define PM8607_VCHG_HIGHTH (0x64)
229#define PM8607_VSYS_HIGHTH (0x65)
230#define PM8607_TINT_HIGHTH (0x66)
231#define PM8607_GPADC0_HIGHTH (0x67)
232#define PM8607_GPADC1_HIGHTH (0x68)
233#define PM8607_GPADC2_HIGHTH (0x69)
234#define PM8607_GPADC3_HIGHTH (0x6A)
235#define PM8607_IBAT_MEAS1 (0x6B)
236#define PM8607_IBAT_MEAS2 (0x6C)
237#define PM8607_VBAT_MEAS1 (0x6D)
238#define PM8607_VBAT_MEAS2 (0x6E)
239#define PM8607_VCHG_MEAS1 (0x6F)
240#define PM8607_VCHG_MEAS2 (0x70)
241#define PM8607_VSYS_MEAS1 (0x71)
242#define PM8607_VSYS_MEAS2 (0x72)
243#define PM8607_TINT_MEAS1 (0x73)
244#define PM8607_TINT_MEAS2 (0x74)
245#define PM8607_GPADC0_MEAS1 (0x75)
246#define PM8607_GPADC0_MEAS2 (0x76)
247#define PM8607_GPADC1_MEAS1 (0x77)
248#define PM8607_GPADC1_MEAS2 (0x78)
249#define PM8607_GPADC2_MEAS1 (0x79)
250#define PM8607_GPADC2_MEAS2 (0x7A)
251#define PM8607_GPADC3_MEAS1 (0x7B)
252#define PM8607_GPADC3_MEAS2 (0x7C)
253#define PM8607_CCNT_MEAS1 (0x95)
254#define PM8607_CCNT_MEAS2 (0x96)
255#define PM8607_VBAT_AVG (0x97)
256#define PM8607_VCHG_AVG (0x98)
257#define PM8607_VSYS_AVG (0x99)
258#define PM8607_VBAT_MIN (0x9A)
259#define PM8607_VCHG_MIN (0x9B)
260#define PM8607_VSYS_MIN (0x9C)
261#define PM8607_VBAT_MAX (0x9D)
262#define PM8607_VCHG_MAX (0x9E)
263#define PM8607_VSYS_MAX (0x9F)
264
265#define PM8607_GPADC_MISC2 (0x59)
266#define PM8607_GPADC0_GP_BIAS_A0 (1 << 0)
267#define PM8607_GPADC1_GP_BIAS_A1 (1 << 1)
268#define PM8607_GPADC2_GP_BIAS_A2 (1 << 2)
269#define PM8607_GPADC3_GP_BIAS_A3 (1 << 3)
270#define PM8607_GPADC2_GP_BIAS_OUT2 (1 << 6)
271
192/* RTC Control Registers */ 272/* RTC Control Registers */
193#define PM8607_RTC1 (0xA0) 273#define PM8607_RTC1 (0xA0)
194#define PM8607_RTC_COUNTER1 (0xA1) 274#define PM8607_RTC_COUNTER1 (0xA1)
@@ -350,7 +430,8 @@ struct pm860x_touch_pdata {
350}; 430};
351 431
352struct pm860x_power_pdata { 432struct pm860x_power_pdata {
353 unsigned fast_charge; /* charge current */ 433 int max_capacity;
434 int resistor;
354}; 435};
355 436
356struct pm860x_platform_data { 437struct pm860x_platform_data {
@@ -375,6 +456,7 @@ struct pm860x_platform_data {
375 struct regulator_init_data *ldo12; 456 struct regulator_init_data *ldo12;
376 struct regulator_init_data *ldo_vibrator; 457 struct regulator_init_data *ldo_vibrator;
377 struct regulator_init_data *ldo14; 458 struct regulator_init_data *ldo14;
459 struct charger_desc *chg_desc;
378 460
379 int companion_addr; /* I2C address of companion chip */ 461 int companion_addr; /* I2C address of companion chip */
380 int i2c_port; /* Controlled by GI2C or PI2C */ 462 int i2c_port; /* Controlled by GI2C or PI2C */
diff --git a/include/linux/platform_data/lp8727.h b/include/linux/platform_data/lp8727.h
index ea98c6133d32..47128a50e04e 100644
--- a/include/linux/platform_data/lp8727.h
+++ b/include/linux/platform_data/lp8727.h
@@ -13,32 +13,32 @@
13#define _LP8727_H 13#define _LP8727_H
14 14
15enum lp8727_eoc_level { 15enum lp8727_eoc_level {
16 EOC_5P, 16 LP8727_EOC_5P,
17 EOC_10P, 17 LP8727_EOC_10P,
18 EOC_16P, 18 LP8727_EOC_16P,
19 EOC_20P, 19 LP8727_EOC_20P,
20 EOC_25P, 20 LP8727_EOC_25P,
21 EOC_33P, 21 LP8727_EOC_33P,
22 EOC_50P, 22 LP8727_EOC_50P,
23}; 23};
24 24
25enum lp8727_ichg { 25enum lp8727_ichg {
26 ICHG_90mA, 26 LP8727_ICHG_90mA,
27 ICHG_100mA, 27 LP8727_ICHG_100mA,
28 ICHG_400mA, 28 LP8727_ICHG_400mA,
29 ICHG_450mA, 29 LP8727_ICHG_450mA,
30 ICHG_500mA, 30 LP8727_ICHG_500mA,
31 ICHG_600mA, 31 LP8727_ICHG_600mA,
32 ICHG_700mA, 32 LP8727_ICHG_700mA,
33 ICHG_800mA, 33 LP8727_ICHG_800mA,
34 ICHG_900mA, 34 LP8727_ICHG_900mA,
35 ICHG_1000mA, 35 LP8727_ICHG_1000mA,
36}; 36};
37 37
38/** 38/**
39 * struct lp8727_chg_param 39 * struct lp8727_chg_param
40 * @eoc_level : end of charge level setting 40 * @eoc_level : end of charge level setting
41 * @ichg : charging current 41 * @ichg : charging current
42 */ 42 */
43struct lp8727_chg_param { 43struct lp8727_chg_param {
44 enum lp8727_eoc_level eoc_level; 44 enum lp8727_eoc_level eoc_level;
@@ -47,19 +47,22 @@ struct lp8727_chg_param {
47 47
48/** 48/**
49 * struct lp8727_platform_data 49 * struct lp8727_platform_data
50 * @get_batt_present : check battery status - exists or not 50 * @get_batt_present : check battery status - exists or not
51 * @get_batt_level : get battery voltage (mV) 51 * @get_batt_level : get battery voltage (mV)
52 * @get_batt_capacity : get battery capacity (%) 52 * @get_batt_capacity : get battery capacity (%)
53 * @get_batt_temp : get battery temperature 53 * @get_batt_temp : get battery temperature
54 * @ac, @usb : charging parameters each charger type 54 * @ac : charging parameters for AC type charger
55 * @usb : charging parameters for USB type charger
56 * @debounce_msec : interrupt debounce time
55 */ 57 */
56struct lp8727_platform_data { 58struct lp8727_platform_data {
57 u8 (*get_batt_present)(void); 59 u8 (*get_batt_present)(void);
58 u16 (*get_batt_level)(void); 60 u16 (*get_batt_level)(void);
59 u8 (*get_batt_capacity)(void); 61 u8 (*get_batt_capacity)(void);
60 u8 (*get_batt_temp)(void); 62 u8 (*get_batt_temp)(void);
61 struct lp8727_chg_param ac; 63 struct lp8727_chg_param *ac;
62 struct lp8727_chg_param usb; 64 struct lp8727_chg_param *usb;
65 unsigned int debounce_msec;
63}; 66};
64 67
65#endif 68#endif
diff --git a/include/linux/power/charger-manager.h b/include/linux/power/charger-manager.h
index cd22029e32aa..0e86840eb603 100644
--- a/include/linux/power/charger-manager.h
+++ b/include/linux/power/charger-manager.h
@@ -109,24 +109,43 @@ struct charger_cable {
109 * struct charger_regulator 109 * struct charger_regulator
110 * @regulator_name: the name of regulator for using charger. 110 * @regulator_name: the name of regulator for using charger.
111 * @consumer: the regulator consumer for the charger. 111 * @consumer: the regulator consumer for the charger.
112 * @externally_control:
113 * Set if the charger-manager cannot control charger,
114 * the charger will be maintained with disabled state.
112 * @cables: 115 * @cables:
113 * the array of charger cables to enable/disable charger 116 * the array of charger cables to enable/disable charger
114 * and set current limit according to constratint data of 117 * and set current limit according to constratint data of
115 * struct charger_cable if only charger cable included 118 * struct charger_cable if only charger cable included
116 * in the array of charger cables is attached/detached. 119 * in the array of charger cables is attached/detached.
117 * @num_cables: the number of charger cables. 120 * @num_cables: the number of charger cables.
121 * @attr_g: Attribute group for the charger(regulator)
122 * @attr_name: "name" sysfs entry
123 * @attr_state: "state" sysfs entry
124 * @attr_externally_control: "externally_control" sysfs entry
125 * @attrs: Arrays pointing to attr_name/state/externally_control for attr_g
118 */ 126 */
119struct charger_regulator { 127struct charger_regulator {
120 /* The name of regulator for charging */ 128 /* The name of regulator for charging */
121 const char *regulator_name; 129 const char *regulator_name;
122 struct regulator *consumer; 130 struct regulator *consumer;
123 131
132 /* charger never on when system is on */
133 int externally_control;
134
124 /* 135 /*
125 * Store constraint information related to current limit, 136 * Store constraint information related to current limit,
126 * each cable have different condition for charging. 137 * each cable have different condition for charging.
127 */ 138 */
128 struct charger_cable *cables; 139 struct charger_cable *cables;
129 int num_cables; 140 int num_cables;
141
142 struct attribute_group attr_g;
143 struct device_attribute attr_name;
144 struct device_attribute attr_state;
145 struct device_attribute attr_externally_control;
146 struct attribute *attrs[4];
147
148 struct charger_manager *cm;
130}; 149};
131 150
132/** 151/**
@@ -140,7 +159,11 @@ struct charger_regulator {
140 * If it has dropped more than fullbatt_vchkdrop_uV after 159 * If it has dropped more than fullbatt_vchkdrop_uV after
141 * fullbatt_vchkdrop_ms, CM will restart charging. 160 * fullbatt_vchkdrop_ms, CM will restart charging.
142 * @fullbatt_uV: voltage in microvolt 161 * @fullbatt_uV: voltage in microvolt
143 * If it is not being charged and VBATT >= fullbatt_uV, 162 * If VBATT >= fullbatt_uV, it is assumed to be full.
163 * @fullbatt_soc: state of Charge in %
164 * If state of Charge >= fullbatt_soc, it is assumed to be full.
165 * @fullbatt_full_capacity: full capacity measure
166 * If full capacity of battery >= fullbatt_full_capacity,
144 * it is assumed to be full. 167 * it is assumed to be full.
145 * @polling_interval_ms: interval in millisecond at which 168 * @polling_interval_ms: interval in millisecond at which
146 * charger manager will monitor battery health 169 * charger manager will monitor battery health
@@ -148,7 +171,7 @@ struct charger_regulator {
148 * Specify where information for existance of battery can be obtained 171 * Specify where information for existance of battery can be obtained
149 * @psy_charger_stat: the names of power-supply for chargers 172 * @psy_charger_stat: the names of power-supply for chargers
150 * @num_charger_regulator: the number of entries in charger_regulators 173 * @num_charger_regulator: the number of entries in charger_regulators
151 * @charger_regulators: array of regulator_bulk_data for chargers 174 * @charger_regulators: array of charger regulators
152 * @psy_fuel_gauge: the name of power-supply for fuel gauge 175 * @psy_fuel_gauge: the name of power-supply for fuel gauge
153 * @temperature_out_of_range: 176 * @temperature_out_of_range:
154 * Determine whether the status is overheat or cold or normal. 177 * Determine whether the status is overheat or cold or normal.
@@ -158,6 +181,13 @@ struct charger_regulator {
158 * @measure_battery_temp: 181 * @measure_battery_temp:
159 * true: measure battery temperature 182 * true: measure battery temperature
160 * false: measure ambient temperature 183 * false: measure ambient temperature
184 * @charging_max_duration_ms: Maximum possible duration for charging
185 * If whole charging duration exceed 'charging_max_duration_ms',
186 * cm stop charging.
187 * @discharging_max_duration_ms:
188 * Maximum possible duration for discharging with charger cable
189 * after full-batt. If discharging duration exceed 'discharging
190 * max_duration_ms', cm start charging.
161 */ 191 */
162struct charger_desc { 192struct charger_desc {
163 char *psy_name; 193 char *psy_name;
@@ -168,6 +198,8 @@ struct charger_desc {
168 unsigned int fullbatt_vchkdrop_ms; 198 unsigned int fullbatt_vchkdrop_ms;
169 unsigned int fullbatt_vchkdrop_uV; 199 unsigned int fullbatt_vchkdrop_uV;
170 unsigned int fullbatt_uV; 200 unsigned int fullbatt_uV;
201 unsigned int fullbatt_soc;
202 unsigned int fullbatt_full_capacity;
171 203
172 enum data_source battery_present; 204 enum data_source battery_present;
173 205
@@ -180,6 +212,9 @@ struct charger_desc {
180 212
181 int (*temperature_out_of_range)(int *mC); 213 int (*temperature_out_of_range)(int *mC);
182 bool measure_battery_temp; 214 bool measure_battery_temp;
215
216 u64 charging_max_duration_ms;
217 u64 discharging_max_duration_ms;
183}; 218};
184 219
185#define PSY_NAME_MAX 30 220#define PSY_NAME_MAX 30
@@ -194,8 +229,6 @@ struct charger_desc {
194 * @charger_enabled: the state of charger 229 * @charger_enabled: the state of charger
195 * @fullbatt_vchk_jiffies_at: 230 * @fullbatt_vchk_jiffies_at:
196 * jiffies at the time full battery check will occur. 231 * jiffies at the time full battery check will occur.
197 * @fullbatt_vchk_uV: voltage in microvolt
198 * criteria for full battery
199 * @fullbatt_vchk_work: work queue for full battery check 232 * @fullbatt_vchk_work: work queue for full battery check
200 * @emergency_stop: 233 * @emergency_stop:
201 * When setting true, stop charging 234 * When setting true, stop charging
@@ -206,6 +239,8 @@ struct charger_desc {
206 * saved status of external power before entering suspend-to-RAM 239 * saved status of external power before entering suspend-to-RAM
207 * @status_save_batt: 240 * @status_save_batt:
208 * saved status of battery before entering suspend-to-RAM 241 * saved status of battery before entering suspend-to-RAM
242 * @charging_start_time: saved start time of enabling charging
243 * @charging_end_time: saved end time of disabling charging
209 */ 244 */
210struct charger_manager { 245struct charger_manager {
211 struct list_head entry; 246 struct list_head entry;
@@ -218,7 +253,6 @@ struct charger_manager {
218 bool charger_enabled; 253 bool charger_enabled;
219 254
220 unsigned long fullbatt_vchk_jiffies_at; 255 unsigned long fullbatt_vchk_jiffies_at;
221 unsigned int fullbatt_vchk_uV;
222 struct delayed_work fullbatt_vchk_work; 256 struct delayed_work fullbatt_vchk_work;
223 257
224 int emergency_stop; 258 int emergency_stop;
@@ -229,6 +263,9 @@ struct charger_manager {
229 263
230 bool status_save_ext_pwr_inserted; 264 bool status_save_ext_pwr_inserted;
231 bool status_save_batt; 265 bool status_save_batt;
266
267 u64 charging_start_time;
268 u64 charging_end_time;
232}; 269};
233 270
234#ifdef CONFIG_CHARGER_MANAGER 271#ifdef CONFIG_CHARGER_MANAGER
diff --git a/include/linux/power_supply.h b/include/linux/power_supply.h
index 0bafbb15f29c..e5ef45834c3c 100644
--- a/include/linux/power_supply.h
+++ b/include/linux/power_supply.h
@@ -88,6 +88,7 @@ enum power_supply_property {
88 POWER_SUPPLY_PROP_HEALTH, 88 POWER_SUPPLY_PROP_HEALTH,
89 POWER_SUPPLY_PROP_PRESENT, 89 POWER_SUPPLY_PROP_PRESENT,
90 POWER_SUPPLY_PROP_ONLINE, 90 POWER_SUPPLY_PROP_ONLINE,
91 POWER_SUPPLY_PROP_AUTHENTIC,
91 POWER_SUPPLY_PROP_TECHNOLOGY, 92 POWER_SUPPLY_PROP_TECHNOLOGY,
92 POWER_SUPPLY_PROP_CYCLE_COUNT, 93 POWER_SUPPLY_PROP_CYCLE_COUNT,
93 POWER_SUPPLY_PROP_VOLTAGE_MAX, 94 POWER_SUPPLY_PROP_VOLTAGE_MAX,
@@ -110,7 +111,9 @@ enum power_supply_property {
110 POWER_SUPPLY_PROP_CHARGE_AVG, 111 POWER_SUPPLY_PROP_CHARGE_AVG,
111 POWER_SUPPLY_PROP_CHARGE_COUNTER, 112 POWER_SUPPLY_PROP_CHARGE_COUNTER,
112 POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT, 113 POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT,
114 POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT_MAX,
113 POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE, 115 POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE,
116 POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE_MAX,
114 POWER_SUPPLY_PROP_ENERGY_FULL_DESIGN, 117 POWER_SUPPLY_PROP_ENERGY_FULL_DESIGN,
115 POWER_SUPPLY_PROP_ENERGY_EMPTY_DESIGN, 118 POWER_SUPPLY_PROP_ENERGY_EMPTY_DESIGN,
116 POWER_SUPPLY_PROP_ENERGY_FULL, 119 POWER_SUPPLY_PROP_ENERGY_FULL,
@@ -248,6 +251,7 @@ static inline bool power_supply_is_amp_property(enum power_supply_property psp)
248 case POWER_SUPPLY_PROP_CHARGE_AVG: 251 case POWER_SUPPLY_PROP_CHARGE_AVG:
249 case POWER_SUPPLY_PROP_CHARGE_COUNTER: 252 case POWER_SUPPLY_PROP_CHARGE_COUNTER:
250 case POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT: 253 case POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT:
254 case POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT_MAX:
251 case POWER_SUPPLY_PROP_CURRENT_MAX: 255 case POWER_SUPPLY_PROP_CURRENT_MAX:
252 case POWER_SUPPLY_PROP_CURRENT_NOW: 256 case POWER_SUPPLY_PROP_CURRENT_NOW:
253 case POWER_SUPPLY_PROP_CURRENT_AVG: 257 case POWER_SUPPLY_PROP_CURRENT_AVG:
@@ -276,6 +280,7 @@ static inline bool power_supply_is_watt_property(enum power_supply_property psp)
276 case POWER_SUPPLY_PROP_VOLTAGE_AVG: 280 case POWER_SUPPLY_PROP_VOLTAGE_AVG:
277 case POWER_SUPPLY_PROP_VOLTAGE_OCV: 281 case POWER_SUPPLY_PROP_VOLTAGE_OCV:
278 case POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE: 282 case POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE:
283 case POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE_MAX:
279 case POWER_SUPPLY_PROP_POWER_NOW: 284 case POWER_SUPPLY_PROP_POWER_NOW:
280 return 1; 285 return 1;
281 default: 286 default: