power_supply.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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. struct device;
  12. struct device_type;
  13. struct power_supply;
  14. #ifdef CONFIG_SYSFS
  15. extern void power_supply_init_attrs(void);
  16. extern int power_supply_uevent(const struct device *dev, struct kobj_uevent_env *env);
  17. extern const struct attribute_group *power_supply_attr_groups[];
  18. #else
  19. static inline void power_supply_init_attrs(void) {}
  20. #define power_supply_attr_groups NULL
  21. #define power_supply_uevent NULL
  22. #endif /* CONFIG_SYSFS */
  23. #ifdef CONFIG_LEDS_TRIGGERS
  24. extern void power_supply_update_leds(struct power_supply *psy);
  25. extern int power_supply_create_triggers(struct power_supply *psy);
  26. extern void power_supply_remove_triggers(struct power_supply *psy);
  27. #else
  28. static inline void power_supply_update_leds(struct power_supply *psy) {}
  29. static inline int power_supply_create_triggers(struct power_supply *psy)
  30. { return 0; }
  31. static inline void power_supply_remove_triggers(struct power_supply *psy) {}
  32. #endif /* CONFIG_LEDS_TRIGGERS */