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, int irq); 21 extern int dev_pm_set_dedicated_wake_irq_reverse(struct device *dev, 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 int dev_pm_set_dedicated_wake_irq_reverse(struct device *dev, int irq) 39 { 40 return 0; 41 } 42 43 static inline void dev_pm_clear_wake_irq(struct device *dev) 44 { 45 } 46 47 static inline void dev_pm_enable_wake_irq(struct device *dev) 48 { 49 } 50 51 static inline void dev_pm_disable_wake_irq(struct device *dev) 52 { 53 } 54 55 #endif /* CONFIG_PM */ 56 #endif /* _LINUX_PM_WAKEIRQ_H */ 57