xref: /linux/drivers/power/supply/power_supply.h (revision 906fd46a65383cd639e5eec72a047efc33045d86)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  *  Functions private to power supply class
4  *
5  *  Copyright © 2007  Anton Vorontsov <cbou@mail.ru>
6  *  Copyright © 2004  Szabolcs Gyurko
7  *  Copyright © 2003  Ian Molton <spyro@f2s.com>
8  *
9  *  Modified: 2004, Oct     Szabolcs Gyurko
10  */
11 
12 struct device;
13 struct device_type;
14 struct power_supply;
15 
16 #ifdef CONFIG_SYSFS
17 
18 extern void power_supply_init_attrs(void);
19 extern int power_supply_uevent(const struct device *dev, struct kobj_uevent_env *env);
20 extern const struct attribute_group *power_supply_attr_groups[];
21 
22 #else
23 
24 static inline void power_supply_init_attrs(void) {}
25 #define power_supply_attr_groups NULL
26 #define power_supply_uevent NULL
27 
28 #endif /* CONFIG_SYSFS */
29 
30 #ifdef CONFIG_LEDS_TRIGGERS
31 
32 extern void power_supply_update_leds(struct power_supply *psy);
33 extern int power_supply_create_triggers(struct power_supply *psy);
34 extern void power_supply_remove_triggers(struct power_supply *psy);
35 
36 #else
37 
38 static inline void power_supply_update_leds(struct power_supply *psy) {}
39 static inline int power_supply_create_triggers(struct power_supply *psy)
40 { return 0; }
41 static inline void power_supply_remove_triggers(struct power_supply *psy) {}
42 
43 #endif /* CONFIG_LEDS_TRIGGERS */
44