power.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. /*
  2. * shutdown.c
  3. */
  4. extern void device_shutdown(void);
  5. #ifdef CONFIG_PM_SLEEP
  6. /*
  7. * main.c
  8. */
  9. /*
  10. * Used to synchronize global power management operations.
  11. */
  12. extern struct mutex dpm_mtx;
  13. /*
  14. * Used to serialize changes to the dpm_* lists.
  15. */
  16. extern struct mutex dpm_list_mtx;
  17. /*
  18. * The PM lists.
  19. */
  20. extern struct list_head dpm_active;
  21. extern struct list_head dpm_off;
  22. extern struct list_head dpm_off_irq;
  23. static inline struct dev_pm_info * to_pm_info(struct list_head * entry)
  24. {
  25. return container_of(entry, struct dev_pm_info, entry);
  26. }
  27. static inline struct device * to_device(struct list_head * entry)
  28. {
  29. return container_of(to_pm_info(entry), struct device, power);
  30. }
  31. extern int device_pm_add(struct device *);
  32. extern void device_pm_remove(struct device *);
  33. /*
  34. * sysfs.c
  35. */
  36. extern int dpm_sysfs_add(struct device *);
  37. extern void dpm_sysfs_remove(struct device *);
  38. /*
  39. * resume.c
  40. */
  41. extern void dpm_resume(void);
  42. extern void dpm_power_up(void);
  43. #else /* CONFIG_PM_SLEEP */
  44. static inline int device_pm_add(struct device * dev)
  45. {
  46. return 0;
  47. }
  48. static inline void device_pm_remove(struct device * dev)
  49. {
  50. }
  51. #endif