4a11b59d82
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>
43 lines
1.3 KiB
C
43 lines
1.3 KiB
C
/*
|
|
* Functions private to power supply class
|
|
*
|
|
* Copyright © 2007 Anton Vorontsov <cbou@mail.ru>
|
|
* Copyright © 2004 Szabolcs Gyurko
|
|
* Copyright © 2003 Ian Molton <spyro@f2s.com>
|
|
*
|
|
* Modified: 2004, Oct Szabolcs Gyurko
|
|
*
|
|
* You may use this code as per GPL version 2
|
|
*/
|
|
|
|
#ifdef CONFIG_SYSFS
|
|
|
|
extern int power_supply_create_attrs(struct power_supply *psy);
|
|
extern void power_supply_remove_attrs(struct power_supply *psy);
|
|
extern int power_supply_uevent(struct device *dev, char **envp, int num_envp,
|
|
char *buffer, int buffer_size);
|
|
|
|
#else
|
|
|
|
static inline int power_supply_create_attrs(struct power_supply *psy)
|
|
{ return 0; }
|
|
static inline void power_supply_remove_attrs(struct power_supply *psy) {}
|
|
#define power_supply_uevent NULL
|
|
|
|
#endif /* CONFIG_SYSFS */
|
|
|
|
#ifdef CONFIG_LEDS_TRIGGERS
|
|
|
|
extern void power_supply_update_leds(struct power_supply *psy);
|
|
extern int power_supply_create_triggers(struct power_supply *psy);
|
|
extern void power_supply_remove_triggers(struct power_supply *psy);
|
|
|
|
#else
|
|
|
|
static inline void power_supply_update_leds(struct power_supply *psy) {}
|
|
static inline int power_supply_create_triggers(struct power_supply *psy)
|
|
{ return 0; }
|
|
static inline void power_supply_remove_triggers(struct power_supply *psy) {}
|
|
|
|
#endif /* CONFIG_LEDS_TRIGGERS */
|