xref: /linux/include/linux/pm_wakeirq.h (revision 6fdcba32711044c35c0e1b094cbd8f3f0b4472c9)
1 /*
2  * pm_wakeirq.h - Device wakeirq helper functions
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  *
8  * This program is distributed "as is" WITHOUT ANY WARRANTY of any
9  * kind, whether express or implied; without even the implied warranty
10  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11  * GNU General Public License for more details.
12  */
13 
14 #ifndef _LINUX_PM_WAKEIRQ_H
15 #define _LINUX_PM_WAKEIRQ_H
16 
17 #ifdef CONFIG_PM
18 
19 extern int dev_pm_set_wake_irq(struct device *dev, int irq);
20 extern int dev_pm_set_dedicated_wake_irq(struct device *dev,
21 					 int irq);
22 extern void dev_pm_clear_wake_irq(struct device *dev);
23 extern void dev_pm_enable_wake_irq(struct device *dev);
24 extern void dev_pm_disable_wake_irq(struct device *dev);
25 
26 #else	/* !CONFIG_PM */
27 
28 static inline int dev_pm_set_wake_irq(struct device *dev, int irq)
29 {
30 	return 0;
31 }
32 
33 static inline int dev_pm_set_dedicated_wake_irq(struct device *dev, int irq)
34 {
35 	return 0;
36 }
37 
38 static inline void dev_pm_clear_wake_irq(struct device *dev)
39 {
40 }
41 
42 static inline void dev_pm_enable_wake_irq(struct device *dev)
43 {
44 }
45 
46 static inline void dev_pm_disable_wake_irq(struct device *dev)
47 {
48 }
49 
50 #endif	/* CONFIG_PM */
51 #endif	/* _LINUX_PM_WAKEIRQ_H */
52