diff options
author | Pavel Machek <pavel@ucw.cz> | 2005-09-03 18:56:57 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@evo.osdl.org> | 2005-09-05 03:06:16 -0400 |
commit | ca078bae813dd46c0f9b102fdfb4a3384641ff48 (patch) | |
tree | e3348f5dcb24159a522941aa2e3ee40bc9e0589b /include/linux | |
parent | 829ca9a30a2ddb727981d80fabdbff2ea86bc9ea (diff) |
[PATCH] swsusp: switch pm_message_t to struct
This adds type-checking to pm_message_t, so that people can't confuse it
with int or u32. It also allows us to fix "disk yoyo" during suspend (disk
spinning down/up/down).
[We've tried that before; since that cpufreq problems were fixed and I've
tried make allyes config and fixed resulting damage.]
Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Alexander Nyberg <alexn@telia.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/pm.h | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/include/linux/pm.h b/include/linux/pm.h index 7aeb208ed713..5cfb07648eca 100644 --- a/include/linux/pm.h +++ b/include/linux/pm.h | |||
@@ -186,7 +186,9 @@ extern int pm_suspend(suspend_state_t state); | |||
186 | 186 | ||
187 | struct device; | 187 | struct device; |
188 | 188 | ||
189 | typedef u32 __bitwise pm_message_t; | 189 | typedef struct pm_message { |
190 | int event; | ||
191 | } pm_message_t; | ||
190 | 192 | ||
191 | /* | 193 | /* |
192 | * There are 4 important states driver can be in: | 194 | * There are 4 important states driver can be in: |
@@ -207,9 +209,13 @@ typedef u32 __bitwise pm_message_t; | |||
207 | * or something similar soon. | 209 | * or something similar soon. |
208 | */ | 210 | */ |
209 | 211 | ||
210 | #define PMSG_FREEZE ((__force pm_message_t) 3) | 212 | #define PM_EVENT_ON 0 |
211 | #define PMSG_SUSPEND ((__force pm_message_t) 3) | 213 | #define PM_EVENT_FREEZE 1 |
212 | #define PMSG_ON ((__force pm_message_t) 0) | 214 | #define PM_EVENT_SUSPEND 2 |
215 | |||
216 | #define PMSG_FREEZE ((struct pm_message){ .event = PM_EVENT_FREEZE, }) | ||
217 | #define PMSG_SUSPEND ((struct pm_message){ .event = PM_EVENT_SUSPEND, }) | ||
218 | #define PMSG_ON ((struct pm_message){ .event = PM_EVENT_ON, }) | ||
213 | 219 | ||
214 | struct dev_pm_info { | 220 | struct dev_pm_info { |
215 | pm_message_t power_state; | 221 | pm_message_t power_state; |