Blame view
include/linux/pm_wakeup.h
2.42 KB
9a3df1f7d PM: Convert wakeu... |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
/* * pm_wakeup.h - Power management wakeup interface * * Copyright (C) 2008 Alan Stern * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef _LINUX_PM_WAKEUP_H #define _LINUX_PM_WAKEUP_H #ifndef _DEVICE_H_ # error "please don't include this file directly" #endif |
228c54ef7 PM: pm_wakeup - s... |
27 |
#include <linux/types.h> |
9a3df1f7d PM: Convert wakeu... |
28 |
#ifdef CONFIG_PM |
2430d12c9 PM: describe kern... |
29 30 31 32 33 |
/* Changes to device_may_wakeup take effect on the next pm state change. * * By default, most devices should leave wakeup disabled. The exceptions * are devices that everyone expects to be wakeup sources: keyboards, * power buttons, possibly network interfaces, etc. |
9a3df1f7d PM: Convert wakeu... |
34 |
*/ |
228c54ef7 PM: pm_wakeup - s... |
35 |
static inline void device_init_wakeup(struct device *dev, bool val) |
9a3df1f7d PM: Convert wakeu... |
36 |
{ |
228c54ef7 PM: pm_wakeup - s... |
37 |
dev->power.can_wakeup = dev->power.should_wakeup = val; |
9a3df1f7d PM: Convert wakeu... |
38 |
} |
228c54ef7 PM: pm_wakeup - s... |
39 |
static inline void device_set_wakeup_capable(struct device *dev, bool capable) |
eb9d0fe40 PCI ACPI: Rework ... |
40 |
{ |
228c54ef7 PM: pm_wakeup - s... |
41 |
dev->power.can_wakeup = capable; |
eb9d0fe40 PCI ACPI: Rework ... |
42 |
} |
228c54ef7 PM: pm_wakeup - s... |
43 |
static inline bool device_can_wakeup(struct device *dev) |
9a3df1f7d PM: Convert wakeu... |
44 45 46 |
{ return dev->power.can_wakeup; } |
228c54ef7 PM: pm_wakeup - s... |
47 |
static inline void device_set_wakeup_enable(struct device *dev, bool enable) |
9a3df1f7d PM: Convert wakeu... |
48 |
{ |
228c54ef7 PM: pm_wakeup - s... |
49 |
dev->power.should_wakeup = enable; |
9a3df1f7d PM: Convert wakeu... |
50 |
} |
228c54ef7 PM: pm_wakeup - s... |
51 |
static inline bool device_may_wakeup(struct device *dev) |
9a3df1f7d PM: Convert wakeu... |
52 |
{ |
eb9d0fe40 PCI ACPI: Rework ... |
53 |
return dev->power.can_wakeup && dev->power.should_wakeup; |
9a3df1f7d PM: Convert wakeu... |
54 55 56 |
} #else /* !CONFIG_PM */ |
2430d12c9 PM: describe kern... |
57 |
/* For some reason the following routines work even without CONFIG_PM */ |
228c54ef7 PM: pm_wakeup - s... |
58 |
static inline void device_init_wakeup(struct device *dev, bool val) |
9a3df1f7d PM: Convert wakeu... |
59 |
{ |
228c54ef7 PM: pm_wakeup - s... |
60 |
dev->power.can_wakeup = val; |
9a3df1f7d PM: Convert wakeu... |
61 |
} |
228c54ef7 PM: pm_wakeup - s... |
62 63 |
static inline void device_set_wakeup_capable(struct device *dev, bool capable) { |
2430d12c9 PM: describe kern... |
64 |
dev->power.can_wakeup = capable; |
228c54ef7 PM: pm_wakeup - s... |
65 |
} |
c300bd2fb PCI: include linu... |
66 |
|
228c54ef7 PM: pm_wakeup - s... |
67 |
static inline bool device_can_wakeup(struct device *dev) |
9a3df1f7d PM: Convert wakeu... |
68 69 70 |
{ return dev->power.can_wakeup; } |
228c54ef7 PM: pm_wakeup - s... |
71 72 73 74 75 76 77 78 |
static inline void device_set_wakeup_enable(struct device *dev, bool enable) { } static inline bool device_may_wakeup(struct device *dev) { return false; } |
9a3df1f7d PM: Convert wakeu... |
79 |
|
9a3df1f7d PM: Convert wakeu... |
80 81 82 |
#endif /* !CONFIG_PM */ #endif /* _LINUX_PM_WAKEUP_H */ |