xref: /linux/include/linux/pm_wakeirq.h (revision 07f0148aafe8c95a3a76cd59e9e75b4d78d1d31d)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /* pm_wakeirq.h - Device wakeirq helper functions */
3 
4 #ifndef _LINUX_PM_WAKEIRQ_H
5 #define _LINUX_PM_WAKEIRQ_H
6 
7 #ifdef CONFIG_PM
8 
9 extern int dev_pm_set_wake_irq(struct device *dev, int irq);
10 extern int dev_pm_set_dedicated_wake_irq(struct device *dev, int irq);
11 extern int dev_pm_set_dedicated_wake_irq_reverse(struct device *dev, int irq);
12 extern void dev_pm_clear_wake_irq(struct device *dev);
13 extern void dev_pm_enable_wake_irq(struct device *dev);
14 extern void dev_pm_disable_wake_irq(struct device *dev);
15 
16 #else	/* !CONFIG_PM */
17 
18 static inline int dev_pm_set_wake_irq(struct device *dev, int irq)
19 {
20 	return 0;
21 }
22 
23 static inline int dev_pm_set_dedicated_wake_irq(struct device *dev, int irq)
24 {
25 	return 0;
26 }
27 
28 static inline int dev_pm_set_dedicated_wake_irq_reverse(struct device *dev, int irq)
29 {
30 	return 0;
31 }
32 
33 static inline void dev_pm_clear_wake_irq(struct device *dev)
34 {
35 }
36 
37 static inline void dev_pm_enable_wake_irq(struct device *dev)
38 {
39 }
40 
41 static inline void dev_pm_disable_wake_irq(struct device *dev)
42 {
43 }
44 
45 #endif	/* CONFIG_PM */
46 #endif	/* _LINUX_PM_WAKEIRQ_H */
47