diff options
| author | Anton Altaparmakov <aia21@hera.kernel.org> | 2006-03-23 12:05:47 -0500 |
|---|---|---|
| committer | Anton Altaparmakov <aia21@hera.kernel.org> | 2006-03-23 12:05:47 -0500 |
| commit | a05ba4561fa3ad8b64a27577d0d38c190f60f762 (patch) | |
| tree | 5eb7561113e006b7bad0bef50dec6821962b1b36 /kernel/power/pm.c | |
| parent | 74293759002aa7db0179158c20676a034614577b (diff) | |
| parent | b0e6e962992b76580f4900b166a337bad7c1e81b (diff) | |
Merge branch 'master' of /home/aia21/ntfs-2.6/
Diffstat (limited to 'kernel/power/pm.c')
| -rw-r--r-- | kernel/power/pm.c | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/kernel/power/pm.c b/kernel/power/pm.c index 33c508e857dd..0f6908cce1dd 100644 --- a/kernel/power/pm.c +++ b/kernel/power/pm.c | |||
| @@ -25,6 +25,7 @@ | |||
| 25 | #include <linux/pm.h> | 25 | #include <linux/pm.h> |
| 26 | #include <linux/pm_legacy.h> | 26 | #include <linux/pm_legacy.h> |
| 27 | #include <linux/interrupt.h> | 27 | #include <linux/interrupt.h> |
| 28 | #include <linux/mutex.h> | ||
| 28 | 29 | ||
| 29 | int pm_active; | 30 | int pm_active; |
| 30 | 31 | ||
| @@ -40,7 +41,7 @@ int pm_active; | |||
| 40 | * until a resume but that will be fine. | 41 | * until a resume but that will be fine. |
| 41 | */ | 42 | */ |
| 42 | 43 | ||
| 43 | static DECLARE_MUTEX(pm_devs_lock); | 44 | static DEFINE_MUTEX(pm_devs_lock); |
| 44 | static LIST_HEAD(pm_devs); | 45 | static LIST_HEAD(pm_devs); |
| 45 | 46 | ||
| 46 | /** | 47 | /** |
| @@ -67,9 +68,9 @@ struct pm_dev *pm_register(pm_dev_t type, | |||
| 67 | dev->id = id; | 68 | dev->id = id; |
| 68 | dev->callback = callback; | 69 | dev->callback = callback; |
| 69 | 70 | ||
| 70 | down(&pm_devs_lock); | 71 | mutex_lock(&pm_devs_lock); |
| 71 | list_add(&dev->entry, &pm_devs); | 72 | list_add(&dev->entry, &pm_devs); |
| 72 | up(&pm_devs_lock); | 73 | mutex_unlock(&pm_devs_lock); |
| 73 | } | 74 | } |
| 74 | return dev; | 75 | return dev; |
| 75 | } | 76 | } |
| @@ -85,9 +86,9 @@ struct pm_dev *pm_register(pm_dev_t type, | |||
| 85 | void pm_unregister(struct pm_dev *dev) | 86 | void pm_unregister(struct pm_dev *dev) |
| 86 | { | 87 | { |
| 87 | if (dev) { | 88 | if (dev) { |
| 88 | down(&pm_devs_lock); | 89 | mutex_lock(&pm_devs_lock); |
| 89 | list_del(&dev->entry); | 90 | list_del(&dev->entry); |
| 90 | up(&pm_devs_lock); | 91 | mutex_unlock(&pm_devs_lock); |
| 91 | 92 | ||
| 92 | kfree(dev); | 93 | kfree(dev); |
| 93 | } | 94 | } |
| @@ -118,7 +119,7 @@ void pm_unregister_all(pm_callback callback) | |||
| 118 | if (!callback) | 119 | if (!callback) |
| 119 | return; | 120 | return; |
| 120 | 121 | ||
| 121 | down(&pm_devs_lock); | 122 | mutex_lock(&pm_devs_lock); |
| 122 | entry = pm_devs.next; | 123 | entry = pm_devs.next; |
| 123 | while (entry != &pm_devs) { | 124 | while (entry != &pm_devs) { |
| 124 | struct pm_dev *dev = list_entry(entry, struct pm_dev, entry); | 125 | struct pm_dev *dev = list_entry(entry, struct pm_dev, entry); |
| @@ -126,7 +127,7 @@ void pm_unregister_all(pm_callback callback) | |||
| 126 | if (dev->callback == callback) | 127 | if (dev->callback == callback) |
| 127 | __pm_unregister(dev); | 128 | __pm_unregister(dev); |
| 128 | } | 129 | } |
| 129 | up(&pm_devs_lock); | 130 | mutex_unlock(&pm_devs_lock); |
| 130 | } | 131 | } |
| 131 | 132 | ||
| 132 | /** | 133 | /** |
| @@ -234,7 +235,7 @@ int pm_send_all(pm_request_t rqst, void *data) | |||
| 234 | { | 235 | { |
| 235 | struct list_head *entry; | 236 | struct list_head *entry; |
| 236 | 237 | ||
| 237 | down(&pm_devs_lock); | 238 | mutex_lock(&pm_devs_lock); |
| 238 | entry = pm_devs.next; | 239 | entry = pm_devs.next; |
| 239 | while (entry != &pm_devs) { | 240 | while (entry != &pm_devs) { |
| 240 | struct pm_dev *dev = list_entry(entry, struct pm_dev, entry); | 241 | struct pm_dev *dev = list_entry(entry, struct pm_dev, entry); |
| @@ -246,13 +247,13 @@ int pm_send_all(pm_request_t rqst, void *data) | |||
| 246 | */ | 247 | */ |
| 247 | if (rqst == PM_SUSPEND) | 248 | if (rqst == PM_SUSPEND) |
| 248 | pm_undo_all(dev); | 249 | pm_undo_all(dev); |
| 249 | up(&pm_devs_lock); | 250 | mutex_unlock(&pm_devs_lock); |
| 250 | return status; | 251 | return status; |
| 251 | } | 252 | } |
| 252 | } | 253 | } |
| 253 | entry = entry->next; | 254 | entry = entry->next; |
| 254 | } | 255 | } |
| 255 | up(&pm_devs_lock); | 256 | mutex_unlock(&pm_devs_lock); |
| 256 | return 0; | 257 | return 0; |
| 257 | } | 258 | } |
| 258 | 259 | ||
