diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-03-26 00:00:29 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-03-26 00:00:29 -0400 |
| commit | 56a9ccb7ba5ffd5f285e3a9628cb446192c8639c (patch) | |
| tree | a9d54537cea4761073374ef5fbc9097cbfe52440 /include/linux | |
| parent | 44bbd7ac2658eb1118342493026ef141e259b739 (diff) | |
| parent | 909a78b320b31ca9709d7ea5f602ec1bd2015192 (diff) | |
Merge git://git.infradead.org/battery-2.6
* git://git.infradead.org/battery-2.6: (30 commits)
bq20z75: Fix time and temp units
bq20z75: Fix issues with present and suspend
z2_battery: Fix count of properties
s3c_adc_battery: Fix method names when PM not set
z2_battery: Add MODULE_DEVICE_TABLE
ds2782_battery: Add MODULE_DEVICE_TABLE
bq20z75: Add MODULE_DEVICE_TABLE
power_supply: Update power_supply_is_watt_property
bq20z75: Add i2c retry mechanism
bq20z75: Add optional battery detect gpio
twl4030_charger: Make the driver atomic notifier safe
bq27x00: Use single i2c_transfer call for property read
bq27x00: Cleanup bq27x00_i2c_read
bq27x00: Minor cleanups
bq27x00: Give more specific reports on battery status
bq27x00: Add MODULE_DEVICE_TABLE
bq27x00: Add new properties
bq27x00: Poll battery state
bq27x00: Cache battery registers
bq27x00: Add bq27000 support
...
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/leds.h | 3 | ||||
| -rw-r--r-- | include/linux/power/bq20z75.h | 39 | ||||
| -rw-r--r-- | include/linux/power/bq27x00_battery.h | 19 | ||||
| -rw-r--r-- | include/linux/power_supply.h | 47 |
4 files changed, 108 insertions, 0 deletions
diff --git a/include/linux/leds.h b/include/linux/leds.h index 383811d9af8..61e0340a4b7 100644 --- a/include/linux/leds.h +++ b/include/linux/leds.h | |||
| @@ -145,6 +145,9 @@ extern void led_trigger_register_simple(const char *name, | |||
| 145 | extern void led_trigger_unregister_simple(struct led_trigger *trigger); | 145 | extern void led_trigger_unregister_simple(struct led_trigger *trigger); |
| 146 | extern void led_trigger_event(struct led_trigger *trigger, | 146 | extern void led_trigger_event(struct led_trigger *trigger, |
| 147 | enum led_brightness event); | 147 | enum led_brightness event); |
| 148 | extern void led_trigger_blink(struct led_trigger *trigger, | ||
| 149 | unsigned long *delay_on, | ||
| 150 | unsigned long *delay_off); | ||
| 148 | 151 | ||
| 149 | #else | 152 | #else |
| 150 | 153 | ||
diff --git a/include/linux/power/bq20z75.h b/include/linux/power/bq20z75.h new file mode 100644 index 00000000000..b0843b68af9 --- /dev/null +++ b/include/linux/power/bq20z75.h | |||
| @@ -0,0 +1,39 @@ | |||
| 1 | /* | ||
| 2 | * Gas Gauge driver for TI's BQ20Z75 | ||
| 3 | * | ||
| 4 | * Copyright (c) 2010, NVIDIA Corporation. | ||
| 5 | * | ||
| 6 | * This program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2 of the License, or | ||
| 9 | * (at your option) any later version. | ||
| 10 | * | ||
| 11 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
| 12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
| 13 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
| 14 | * more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License along | ||
| 17 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
| 18 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
| 19 | */ | ||
| 20 | |||
| 21 | #ifndef __LINUX_POWER_BQ20Z75_H_ | ||
| 22 | #define __LINUX_POWER_BQ20Z75_H_ | ||
| 23 | |||
| 24 | #include <linux/power_supply.h> | ||
| 25 | #include <linux/types.h> | ||
| 26 | |||
| 27 | /** | ||
| 28 | * struct bq20z75_platform_data - platform data for bq20z75 devices | ||
| 29 | * @battery_detect: GPIO which is used to detect battery presence | ||
| 30 | * @battery_detect_present: gpio state when battery is present (0 / 1) | ||
| 31 | * @i2c_retry_count: # of times to retry on i2c IO failure | ||
| 32 | */ | ||
| 33 | struct bq20z75_platform_data { | ||
| 34 | int battery_detect; | ||
| 35 | int battery_detect_present; | ||
| 36 | int i2c_retry_count; | ||
| 37 | }; | ||
| 38 | |||
| 39 | #endif | ||
diff --git a/include/linux/power/bq27x00_battery.h b/include/linux/power/bq27x00_battery.h new file mode 100644 index 00000000000..a857f719bf4 --- /dev/null +++ b/include/linux/power/bq27x00_battery.h | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | #ifndef __LINUX_BQ27X00_BATTERY_H__ | ||
| 2 | #define __LINUX_BQ27X00_BATTERY_H__ | ||
| 3 | |||
| 4 | /** | ||
| 5 | * struct bq27000_plaform_data - Platform data for bq27000 devices | ||
| 6 | * @name: Name of the battery. If NULL the driver will fallback to "bq27000". | ||
| 7 | * @read: HDQ read callback. | ||
| 8 | * This function should provide access to the HDQ bus the battery is | ||
| 9 | * connected to. | ||
| 10 | * The first parameter is a pointer to the battery device, the second the | ||
| 11 | * register to be read. The return value should either be the content of | ||
| 12 | * the passed register or an error value. | ||
| 13 | */ | ||
| 14 | struct bq27000_platform_data { | ||
| 15 | const char *name; | ||
| 16 | int (*read)(struct device *dev, unsigned int); | ||
| 17 | }; | ||
| 18 | |||
| 19 | #endif | ||
diff --git a/include/linux/power_supply.h b/include/linux/power_supply.h index 7d7325685c4..204c18dfdc9 100644 --- a/include/linux/power_supply.h +++ b/include/linux/power_supply.h | |||
| @@ -173,6 +173,8 @@ struct power_supply { | |||
| 173 | char *full_trig_name; | 173 | char *full_trig_name; |
| 174 | struct led_trigger *online_trig; | 174 | struct led_trigger *online_trig; |
| 175 | char *online_trig_name; | 175 | char *online_trig_name; |
| 176 | struct led_trigger *charging_blink_full_solid_trig; | ||
| 177 | char *charging_blink_full_solid_trig_name; | ||
| 176 | #endif | 178 | #endif |
| 177 | }; | 179 | }; |
| 178 | 180 | ||
| @@ -213,4 +215,49 @@ extern void power_supply_unregister(struct power_supply *psy); | |||
| 213 | /* For APM emulation, think legacy userspace. */ | 215 | /* For APM emulation, think legacy userspace. */ |
| 214 | extern struct class *power_supply_class; | 216 | extern struct class *power_supply_class; |
| 215 | 217 | ||
| 218 | static inline bool power_supply_is_amp_property(enum power_supply_property psp) | ||
| 219 | { | ||
| 220 | switch (psp) { | ||
| 221 | case POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN: | ||
| 222 | case POWER_SUPPLY_PROP_CHARGE_EMPTY_DESIGN: | ||
| 223 | case POWER_SUPPLY_PROP_CHARGE_FULL: | ||
| 224 | case POWER_SUPPLY_PROP_CHARGE_EMPTY: | ||
| 225 | case POWER_SUPPLY_PROP_CHARGE_NOW: | ||
| 226 | case POWER_SUPPLY_PROP_CHARGE_AVG: | ||
| 227 | case POWER_SUPPLY_PROP_CHARGE_COUNTER: | ||
| 228 | case POWER_SUPPLY_PROP_CURRENT_MAX: | ||
| 229 | case POWER_SUPPLY_PROP_CURRENT_NOW: | ||
| 230 | case POWER_SUPPLY_PROP_CURRENT_AVG: | ||
| 231 | return 1; | ||
| 232 | default: | ||
| 233 | break; | ||
| 234 | } | ||
| 235 | |||
| 236 | return 0; | ||
| 237 | } | ||
| 238 | |||
| 239 | static inline bool power_supply_is_watt_property(enum power_supply_property psp) | ||
| 240 | { | ||
| 241 | switch (psp) { | ||
| 242 | case POWER_SUPPLY_PROP_ENERGY_FULL_DESIGN: | ||
| 243 | case POWER_SUPPLY_PROP_ENERGY_EMPTY_DESIGN: | ||
| 244 | case POWER_SUPPLY_PROP_ENERGY_FULL: | ||
| 245 | case POWER_SUPPLY_PROP_ENERGY_EMPTY: | ||
| 246 | case POWER_SUPPLY_PROP_ENERGY_NOW: | ||
| 247 | case POWER_SUPPLY_PROP_ENERGY_AVG: | ||
| 248 | case POWER_SUPPLY_PROP_VOLTAGE_MAX: | ||
| 249 | case POWER_SUPPLY_PROP_VOLTAGE_MIN: | ||
| 250 | case POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN: | ||
| 251 | case POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN: | ||
| 252 | case POWER_SUPPLY_PROP_VOLTAGE_NOW: | ||
| 253 | case POWER_SUPPLY_PROP_VOLTAGE_AVG: | ||
| 254 | case POWER_SUPPLY_PROP_POWER_NOW: | ||
| 255 | return 1; | ||
| 256 | default: | ||
| 257 | break; | ||
| 258 | } | ||
| 259 | |||
| 260 | return 0; | ||
| 261 | } | ||
| 262 | |||
| 216 | #endif /* __LINUX_POWER_SUPPLY_H__ */ | 263 | #endif /* __LINUX_POWER_SUPPLY_H__ */ |
