diff options
author | Anton Vorontsov <cbou@mail.ru> | 2007-05-03 16:27:45 -0400 |
---|---|---|
committer | David Woodhouse <dwmw2@infradead.org> | 2007-07-10 06:25:44 -0400 |
commit | 4a11b59d8283662193a9c6a9c14c58d1b9bf0617 (patch) | |
tree | 492bf022c806ec6c554ca5f8e7c05ea6db138137 /drivers/power/power_supply.h | |
parent | 7dcca30a32aadb0520417521b0c44f42d09fe05c (diff) |
[BATTERY] Universal power supply class (was: battery class)
This class is result of "external power" and "battery" classes merge,
as suggested by David Woodhouse. He also implemented uevent support.
Here how userspace seeing it now:
# ls /sys/class/power\ supply/
ac main-battery usb
# cat /sys/class/power\ supply/ac/type
AC
# cat /sys/class/power\ supply/usb/type
USB
# cat /sys/class/power\ supply/main-battery/type
Battery
# cat /sys/class/power\ supply/ac/online
1
# cat /sys/class/power\ supply/usb/online
0
# cat /sys/class/power\ supply/main-battery/status
Charging
# cat /sys/class/leds/h5400\:red-left/trigger
none h5400-radio timer hwtimer ac-online usb-online
main-battery-charging-or-full [main-battery-charging]
main-battery-full
Signed-off-by: Anton Vorontsov <cbou@mail.ru>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'drivers/power/power_supply.h')
-rw-r--r-- | drivers/power/power_supply.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/drivers/power/power_supply.h b/drivers/power/power_supply.h new file mode 100644 index 000000000000..a9880d468ee4 --- /dev/null +++ b/drivers/power/power_supply.h | |||
@@ -0,0 +1,42 @@ | |||
1 | /* | ||
2 | * Functions private to power supply class | ||
3 | * | ||
4 | * Copyright © 2007 Anton Vorontsov <cbou@mail.ru> | ||
5 | * Copyright © 2004 Szabolcs Gyurko | ||
6 | * Copyright © 2003 Ian Molton <spyro@f2s.com> | ||
7 | * | ||
8 | * Modified: 2004, Oct Szabolcs Gyurko | ||
9 | * | ||
10 | * You may use this code as per GPL version 2 | ||
11 | */ | ||
12 | |||
13 | #ifdef CONFIG_SYSFS | ||
14 | |||
15 | extern int power_supply_create_attrs(struct power_supply *psy); | ||
16 | extern void power_supply_remove_attrs(struct power_supply *psy); | ||
17 | extern int power_supply_uevent(struct device *dev, char **envp, int num_envp, | ||
18 | char *buffer, int buffer_size); | ||
19 | |||
20 | #else | ||
21 | |||
22 | static inline int power_supply_create_attrs(struct power_supply *psy) | ||
23 | { return 0; } | ||
24 | static inline void power_supply_remove_attrs(struct power_supply *psy) {} | ||
25 | #define power_supply_uevent NULL | ||
26 | |||
27 | #endif /* CONFIG_SYSFS */ | ||
28 | |||
29 | #ifdef CONFIG_LEDS_TRIGGERS | ||
30 | |||
31 | extern void power_supply_update_leds(struct power_supply *psy); | ||
32 | extern int power_supply_create_triggers(struct power_supply *psy); | ||
33 | extern void power_supply_remove_triggers(struct power_supply *psy); | ||
34 | |||
35 | #else | ||
36 | |||
37 | static inline void power_supply_update_leds(struct power_supply *psy) {} | ||
38 | static inline int power_supply_create_triggers(struct power_supply *psy) | ||
39 | { return 0; } | ||
40 | static inline void power_supply_remove_triggers(struct power_supply *psy) {} | ||
41 | |||
42 | #endif /* CONFIG_LEDS_TRIGGERS */ | ||