power.h revision 1eede070a59e1cc73da51e1aaa00d9ab86572cfc
1296699de6bdc717189a331ab6bbe90e05c94db06Rafael J. Wysocki#ifdef CONFIG_PM_SLEEP
21da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
31da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
41da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * main.c
51da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
61da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
71eede070a59e1cc73da51e1aaa00d9ab86572cfcRafael J. Wysockiextern struct list_head dpm_list;	/* The active device list */
81da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
9dec13c15445fec29ca9087890895718450e80b95Daniel Drakestatic inline struct device *to_device(struct list_head *entry)
101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds{
11cd59abfcc441b2abb4cf2cd62c1eb0f02a60e8ddAlan Stern	return container_of(entry, struct device, power.entry);
121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1458aca23226a19983571bd3b65167521fc64f5869Rafael J. Wysockiextern int device_pm_add(struct device *);
151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsextern void device_pm_remove(struct device *);
161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
17dec13c15445fec29ca9087890895718450e80b95Daniel Drake#else /* CONFIG_PM_SLEEP */
18dec13c15445fec29ca9087890895718450e80b95Daniel Drake
1958aca23226a19983571bd3b65167521fc64f5869Rafael J. Wysockistatic inline int device_pm_add(struct device *dev) { return 0; }
2058aca23226a19983571bd3b65167521fc64f5869Rafael J. Wysockistatic inline void device_pm_remove(struct device *dev) {}
21775b64d2b6ca37697de925f70799c710aab5849aRafael J. Wysocki
22dec13c15445fec29ca9087890895718450e80b95Daniel Drake#endif
23dec13c15445fec29ca9087890895718450e80b95Daniel Drake
24dec13c15445fec29ca9087890895718450e80b95Daniel Drake#ifdef CONFIG_PM
25dec13c15445fec29ca9087890895718450e80b95Daniel Drake
261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * sysfs.c
281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsextern int dpm_sysfs_add(struct device *);
311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsextern void dpm_sysfs_remove(struct device *);
321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
33dec13c15445fec29ca9087890895718450e80b95Daniel Drake#else /* CONFIG_PM */
341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
35dec13c15445fec29ca9087890895718450e80b95Daniel Drakestatic inline int dpm_sysfs_add(struct device *dev)
361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds{
371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	return 0;
381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
40dec13c15445fec29ca9087890895718450e80b95Daniel Drakestatic inline void dpm_sysfs_remove(struct device *dev)
41dec13c15445fec29ca9087890895718450e80b95Daniel Drake{
421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#endif
45