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