14a11b59d8283662193a9c6a9c14c58d1b9bf0617Anton Vorontsov/*
24a11b59d8283662193a9c6a9c14c58d1b9bf0617Anton Vorontsov *  Functions private to power supply class
34a11b59d8283662193a9c6a9c14c58d1b9bf0617Anton Vorontsov *
44a11b59d8283662193a9c6a9c14c58d1b9bf0617Anton Vorontsov *  Copyright © 2007  Anton Vorontsov <cbou@mail.ru>
54a11b59d8283662193a9c6a9c14c58d1b9bf0617Anton Vorontsov *  Copyright © 2004  Szabolcs Gyurko
64a11b59d8283662193a9c6a9c14c58d1b9bf0617Anton Vorontsov *  Copyright © 2003  Ian Molton <spyro@f2s.com>
74a11b59d8283662193a9c6a9c14c58d1b9bf0617Anton Vorontsov *
84a11b59d8283662193a9c6a9c14c58d1b9bf0617Anton Vorontsov *  Modified: 2004, Oct     Szabolcs Gyurko
94a11b59d8283662193a9c6a9c14c58d1b9bf0617Anton Vorontsov *
104a11b59d8283662193a9c6a9c14c58d1b9bf0617Anton Vorontsov *  You may use this code as per GPL version 2
114a11b59d8283662193a9c6a9c14c58d1b9bf0617Anton Vorontsov */
124a11b59d8283662193a9c6a9c14c58d1b9bf0617Anton Vorontsov
1351990e825431089747f8896244b5c17d3a6423f1Paul Gortmakerstruct device;
1451990e825431089747f8896244b5c17d3a6423f1Paul Gortmakerstruct device_type;
1551990e825431089747f8896244b5c17d3a6423f1Paul Gortmakerstruct power_supply;
1651990e825431089747f8896244b5c17d3a6423f1Paul Gortmaker
174a11b59d8283662193a9c6a9c14c58d1b9bf0617Anton Vorontsov#ifdef CONFIG_SYSFS
184a11b59d8283662193a9c6a9c14c58d1b9bf0617Anton Vorontsov
195f487cd34f4337f9bc27ca19da72a39d1b0a0ab4Anton Vorontsovextern void power_supply_init_attrs(struct device_type *dev_type);
207eff2e7a8b65c25920207324e56611150eb1cd9aKay Sieversextern int power_supply_uevent(struct device *dev, struct kobj_uevent_env *env);
214a11b59d8283662193a9c6a9c14c58d1b9bf0617Anton Vorontsov
224a11b59d8283662193a9c6a9c14c58d1b9bf0617Anton Vorontsov#else
234a11b59d8283662193a9c6a9c14c58d1b9bf0617Anton Vorontsov
245f487cd34f4337f9bc27ca19da72a39d1b0a0ab4Anton Vorontsovstatic inline void power_supply_init_attrs(struct device_type *dev_type) {}
254a11b59d8283662193a9c6a9c14c58d1b9bf0617Anton Vorontsov#define power_supply_uevent NULL
264a11b59d8283662193a9c6a9c14c58d1b9bf0617Anton Vorontsov
274a11b59d8283662193a9c6a9c14c58d1b9bf0617Anton Vorontsov#endif /* CONFIG_SYSFS */
284a11b59d8283662193a9c6a9c14c58d1b9bf0617Anton Vorontsov
294a11b59d8283662193a9c6a9c14c58d1b9bf0617Anton Vorontsov#ifdef CONFIG_LEDS_TRIGGERS
304a11b59d8283662193a9c6a9c14c58d1b9bf0617Anton Vorontsov
314a11b59d8283662193a9c6a9c14c58d1b9bf0617Anton Vorontsovextern void power_supply_update_leds(struct power_supply *psy);
324a11b59d8283662193a9c6a9c14c58d1b9bf0617Anton Vorontsovextern int power_supply_create_triggers(struct power_supply *psy);
334a11b59d8283662193a9c6a9c14c58d1b9bf0617Anton Vorontsovextern void power_supply_remove_triggers(struct power_supply *psy);
344a11b59d8283662193a9c6a9c14c58d1b9bf0617Anton Vorontsov
354a11b59d8283662193a9c6a9c14c58d1b9bf0617Anton Vorontsov#else
364a11b59d8283662193a9c6a9c14c58d1b9bf0617Anton Vorontsov
374a11b59d8283662193a9c6a9c14c58d1b9bf0617Anton Vorontsovstatic inline void power_supply_update_leds(struct power_supply *psy) {}
384a11b59d8283662193a9c6a9c14c58d1b9bf0617Anton Vorontsovstatic inline int power_supply_create_triggers(struct power_supply *psy)
394a11b59d8283662193a9c6a9c14c58d1b9bf0617Anton Vorontsov{ return 0; }
404a11b59d8283662193a9c6a9c14c58d1b9bf0617Anton Vorontsovstatic inline void power_supply_remove_triggers(struct power_supply *psy) {}
414a11b59d8283662193a9c6a9c14c58d1b9bf0617Anton Vorontsov
424a11b59d8283662193a9c6a9c14c58d1b9bf0617Anton Vorontsov#endif /* CONFIG_LEDS_TRIGGERS */
43