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
12struct device;
13struct device_type;
14struct power_supply;
15
16#ifdef CONFIG_SYSFS
17
18extern void power_supply_init_attrs(void);
19extern int power_supply_uevent(const struct device *dev, struct kobj_uevent_env *env);
20extern const struct attribute_group *power_supply_attr_groups[];
21
22#else
23
24static 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
32extern void power_supply_update_leds(struct power_supply *psy);
33extern int power_supply_create_triggers(struct power_supply *psy);
34extern void power_supply_remove_triggers(struct power_supply *psy);
35
36#else
37
38static inline void power_supply_update_leds(struct power_supply *psy) {}
39static inline int power_supply_create_triggers(struct power_supply *psy)
40{ return 0; }
41static inline void power_supply_remove_triggers(struct power_supply *psy) {}
42
43#endif /* CONFIG_LEDS_TRIGGERS */
44

source code of linux/drivers/power/supply/power_supply.h