/* * shutdown.c */ extern void device_shutdown(void); #ifdef CONFIG_PM /* * main.c */ /* * Used to synchronize global power management operations. */ extern struct semaphore dpm_sem; /* * Used to serialize changes to the dpm_* lists. */ extern struct semaphore dpm_list_sem; /* * The PM lists. */ extern struct list_head dpm_active; extern struct list_head dpm_off; extern struct list_head dpm_off_irq; static inline struct dev_pm_info * to_pm_info(struct list_head * entry) { return container_of(entry, struct dev_pm_info, entry); } static inline struct device * to_device(struct list_head * entry) { return container_of(to_pm_info(entry), struct device, power); } extern int device_pm_add(struct device *); extern void device_pm_remove(struct device *); /* * sysfs.c */ extern int dpm_sysfs_add(struct device *); extern void dpm_sysfs_remove(struct device *); /* * resume.c */ extern void dpm_resume(void); extern void dpm_power_up(void); extern int resume_device(struct device *); /* * suspend.c */ extern int suspend_device(struct device *, pm_message_t); /* * runtime.c */ #else /* CONFIG_PM */ static inline int device_pm_add(struct device * dev) { return 0; } static inline void device_pm_remove(struct device * dev) { } #endif