diff options
Diffstat (limited to 'kernel/power')
-rw-r--r-- | kernel/power/disk.c | 20 | ||||
-rw-r--r-- | kernel/power/main.c | 26 | ||||
-rw-r--r-- | kernel/power/pm.c | 4 | ||||
-rw-r--r-- | kernel/power/power.h | 4 |
4 files changed, 30 insertions, 24 deletions
diff --git a/kernel/power/disk.c b/kernel/power/disk.c index 05b64790fe83..b138b431e271 100644 --- a/kernel/power/disk.c +++ b/kernel/power/disk.c | |||
@@ -567,7 +567,8 @@ static const char * const hibernation_modes[] = { | |||
567 | * supports it (as determined by having hibernation_ops). | 567 | * supports it (as determined by having hibernation_ops). |
568 | */ | 568 | */ |
569 | 569 | ||
570 | static ssize_t disk_show(struct kset *kset, char *buf) | 570 | static ssize_t disk_show(struct kobject *kobj, struct kobj_attribute *attr, |
571 | char *buf) | ||
571 | { | 572 | { |
572 | int i; | 573 | int i; |
573 | char *start = buf; | 574 | char *start = buf; |
@@ -597,7 +598,8 @@ static ssize_t disk_show(struct kset *kset, char *buf) | |||
597 | } | 598 | } |
598 | 599 | ||
599 | 600 | ||
600 | static ssize_t disk_store(struct kset *kset, const char *buf, size_t n) | 601 | static ssize_t disk_store(struct kobject *kobj, struct kobj_attribute *attr, |
602 | const char *buf, size_t n) | ||
601 | { | 603 | { |
602 | int error = 0; | 604 | int error = 0; |
603 | int i; | 605 | int i; |
@@ -642,13 +644,15 @@ static ssize_t disk_store(struct kset *kset, const char *buf, size_t n) | |||
642 | 644 | ||
643 | power_attr(disk); | 645 | power_attr(disk); |
644 | 646 | ||
645 | static ssize_t resume_show(struct kset *kset, char *buf) | 647 | static ssize_t resume_show(struct kobject *kobj, struct kobj_attribute *attr, |
648 | char *buf) | ||
646 | { | 649 | { |
647 | return sprintf(buf,"%d:%d\n", MAJOR(swsusp_resume_device), | 650 | return sprintf(buf,"%d:%d\n", MAJOR(swsusp_resume_device), |
648 | MINOR(swsusp_resume_device)); | 651 | MINOR(swsusp_resume_device)); |
649 | } | 652 | } |
650 | 653 | ||
651 | static ssize_t resume_store(struct kset *kset, const char *buf, size_t n) | 654 | static ssize_t resume_store(struct kobject *kobj, struct kobj_attribute *attr, |
655 | const char *buf, size_t n) | ||
652 | { | 656 | { |
653 | unsigned int maj, min; | 657 | unsigned int maj, min; |
654 | dev_t res; | 658 | dev_t res; |
@@ -674,12 +678,14 @@ static ssize_t resume_store(struct kset *kset, const char *buf, size_t n) | |||
674 | 678 | ||
675 | power_attr(resume); | 679 | power_attr(resume); |
676 | 680 | ||
677 | static ssize_t image_size_show(struct kset *kset, char *buf) | 681 | static ssize_t image_size_show(struct kobject *kobj, struct kobj_attribute *attr, |
682 | char *buf) | ||
678 | { | 683 | { |
679 | return sprintf(buf, "%lu\n", image_size); | 684 | return sprintf(buf, "%lu\n", image_size); |
680 | } | 685 | } |
681 | 686 | ||
682 | static ssize_t image_size_store(struct kset *kset, const char *buf, size_t n) | 687 | static ssize_t image_size_store(struct kobject *kobj, struct kobj_attribute *attr, |
688 | const char *buf, size_t n) | ||
683 | { | 689 | { |
684 | unsigned long size; | 690 | unsigned long size; |
685 | 691 | ||
@@ -708,7 +714,7 @@ static struct attribute_group attr_group = { | |||
708 | 714 | ||
709 | static int __init pm_disk_init(void) | 715 | static int __init pm_disk_init(void) |
710 | { | 716 | { |
711 | return sysfs_create_group(&power_subsys.kobj, &attr_group); | 717 | return sysfs_create_group(power_kobj, &attr_group); |
712 | } | 718 | } |
713 | 719 | ||
714 | core_initcall(pm_disk_init); | 720 | core_initcall(pm_disk_init); |
diff --git a/kernel/power/main.c b/kernel/power/main.c index 3cdf95b1dc92..efc08360e627 100644 --- a/kernel/power/main.c +++ b/kernel/power/main.c | |||
@@ -28,6 +28,9 @@ BLOCKING_NOTIFIER_HEAD(pm_chain_head); | |||
28 | 28 | ||
29 | DEFINE_MUTEX(pm_mutex); | 29 | DEFINE_MUTEX(pm_mutex); |
30 | 30 | ||
31 | unsigned int pm_flags; | ||
32 | EXPORT_SYMBOL(pm_flags); | ||
33 | |||
31 | #ifdef CONFIG_SUSPEND | 34 | #ifdef CONFIG_SUSPEND |
32 | 35 | ||
33 | /* This is just an arbitrary number */ | 36 | /* This is just an arbitrary number */ |
@@ -273,8 +276,7 @@ EXPORT_SYMBOL(pm_suspend); | |||
273 | 276 | ||
274 | #endif /* CONFIG_SUSPEND */ | 277 | #endif /* CONFIG_SUSPEND */ |
275 | 278 | ||
276 | decl_subsys(power,NULL,NULL); | 279 | struct kobject *power_kobj; |
277 | |||
278 | 280 | ||
279 | /** | 281 | /** |
280 | * state - control system power state. | 282 | * state - control system power state. |
@@ -287,7 +289,8 @@ decl_subsys(power,NULL,NULL); | |||
287 | * proper enumerated value, and initiates a suspend transition. | 289 | * proper enumerated value, and initiates a suspend transition. |
288 | */ | 290 | */ |
289 | 291 | ||
290 | static ssize_t state_show(struct kset *kset, char *buf) | 292 | static ssize_t state_show(struct kobject *kobj, struct kobj_attribute *attr, |
293 | char *buf) | ||
291 | { | 294 | { |
292 | char *s = buf; | 295 | char *s = buf; |
293 | #ifdef CONFIG_SUSPEND | 296 | #ifdef CONFIG_SUSPEND |
@@ -308,7 +311,8 @@ static ssize_t state_show(struct kset *kset, char *buf) | |||
308 | return (s - buf); | 311 | return (s - buf); |
309 | } | 312 | } |
310 | 313 | ||
311 | static ssize_t state_store(struct kset *kset, const char *buf, size_t n) | 314 | static ssize_t state_store(struct kobject *kobj, struct kobj_attribute *attr, |
315 | const char *buf, size_t n) | ||
312 | { | 316 | { |
313 | #ifdef CONFIG_SUSPEND | 317 | #ifdef CONFIG_SUSPEND |
314 | suspend_state_t state = PM_SUSPEND_STANDBY; | 318 | suspend_state_t state = PM_SUSPEND_STANDBY; |
@@ -345,13 +349,15 @@ power_attr(state); | |||
345 | #ifdef CONFIG_PM_TRACE | 349 | #ifdef CONFIG_PM_TRACE |
346 | int pm_trace_enabled; | 350 | int pm_trace_enabled; |
347 | 351 | ||
348 | static ssize_t pm_trace_show(struct kset *kset, char *buf) | 352 | static ssize_t pm_trace_show(struct kobject *kobj, struct kobj_attribute *attr, |
353 | char *buf) | ||
349 | { | 354 | { |
350 | return sprintf(buf, "%d\n", pm_trace_enabled); | 355 | return sprintf(buf, "%d\n", pm_trace_enabled); |
351 | } | 356 | } |
352 | 357 | ||
353 | static ssize_t | 358 | static ssize_t |
354 | pm_trace_store(struct kset *kset, const char *buf, size_t n) | 359 | pm_trace_store(struct kobject *kobj, struct kobj_attribute *attr, |
360 | const char *buf, size_t n) | ||
355 | { | 361 | { |
356 | int val; | 362 | int val; |
357 | 363 | ||
@@ -383,10 +389,10 @@ static struct attribute_group attr_group = { | |||
383 | 389 | ||
384 | static int __init pm_init(void) | 390 | static int __init pm_init(void) |
385 | { | 391 | { |
386 | int error = subsystem_register(&power_subsys); | 392 | power_kobj = kobject_create_and_add("power", NULL); |
387 | if (!error) | 393 | if (!power_kobj) |
388 | error = sysfs_create_group(&power_subsys.kobj,&attr_group); | 394 | return -ENOMEM; |
389 | return error; | 395 | return sysfs_create_group(power_kobj, &attr_group); |
390 | } | 396 | } |
391 | 397 | ||
392 | core_initcall(pm_init); | 398 | core_initcall(pm_init); |
diff --git a/kernel/power/pm.c b/kernel/power/pm.c index c50d15266c10..60c73fa670d5 100644 --- a/kernel/power/pm.c +++ b/kernel/power/pm.c | |||
@@ -27,8 +27,6 @@ | |||
27 | #include <linux/interrupt.h> | 27 | #include <linux/interrupt.h> |
28 | #include <linux/mutex.h> | 28 | #include <linux/mutex.h> |
29 | 29 | ||
30 | int pm_active; | ||
31 | |||
32 | /* | 30 | /* |
33 | * Locking notes: | 31 | * Locking notes: |
34 | * pm_devs_lock can be a semaphore providing pm ops are not called | 32 | * pm_devs_lock can be a semaphore providing pm ops are not called |
@@ -204,6 +202,4 @@ int pm_send_all(pm_request_t rqst, void *data) | |||
204 | 202 | ||
205 | EXPORT_SYMBOL(pm_register); | 203 | EXPORT_SYMBOL(pm_register); |
206 | EXPORT_SYMBOL(pm_send_all); | 204 | EXPORT_SYMBOL(pm_send_all); |
207 | EXPORT_SYMBOL(pm_active); | ||
208 | |||
209 | 205 | ||
diff --git a/kernel/power/power.h b/kernel/power/power.h index 195dc4611764..2093c3a9a994 100644 --- a/kernel/power/power.h +++ b/kernel/power/power.h | |||
@@ -54,7 +54,7 @@ extern int pfn_is_nosave(unsigned long); | |||
54 | extern struct mutex pm_mutex; | 54 | extern struct mutex pm_mutex; |
55 | 55 | ||
56 | #define power_attr(_name) \ | 56 | #define power_attr(_name) \ |
57 | static struct subsys_attribute _name##_attr = { \ | 57 | static struct kobj_attribute _name##_attr = { \ |
58 | .attr = { \ | 58 | .attr = { \ |
59 | .name = __stringify(_name), \ | 59 | .name = __stringify(_name), \ |
60 | .mode = 0644, \ | 60 | .mode = 0644, \ |
@@ -63,8 +63,6 @@ static struct subsys_attribute _name##_attr = { \ | |||
63 | .store = _name##_store, \ | 63 | .store = _name##_store, \ |
64 | } | 64 | } |
65 | 65 | ||
66 | extern struct kset power_subsys; | ||
67 | |||
68 | /* Preferred image size in bytes (default 500 MB) */ | 66 | /* Preferred image size in bytes (default 500 MB) */ |
69 | extern unsigned long image_size; | 67 | extern unsigned long image_size; |
70 | extern int in_suspend; | 68 | extern int in_suspend; |