]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - kernel/power/main.c
Merge branch 'master' into csb1725
[mv-sheeva.git] / kernel / power / main.c
index 62b0bc6e4983cfdec1a2b4feb0f34d2235781ad6..7b5db6a8561e9a945b75f08d82acfb401bc8cd4e 100644 (file)
@@ -237,18 +237,18 @@ static ssize_t wakeup_count_show(struct kobject *kobj,
                                struct kobj_attribute *attr,
                                char *buf)
 {
-       unsigned long val;
+       unsigned int val;
 
-       return pm_get_wakeup_count(&val) ? sprintf(buf, "%lu\n", val) : -EINTR;
+       return pm_get_wakeup_count(&val) ? sprintf(buf, "%u\n", val) : -EINTR;
 }
 
 static ssize_t wakeup_count_store(struct kobject *kobj,
                                struct kobj_attribute *attr,
                                const char *buf, size_t n)
 {
-       unsigned long val;
+       unsigned int val;
 
-       if (sscanf(buf, "%lu", &val) == 1) {
+       if (sscanf(buf, "%u", &val) == 1) {
                if (pm_save_wakeup_count(val))
                        return n;
        }
@@ -281,12 +281,30 @@ pm_trace_store(struct kobject *kobj, struct kobj_attribute *attr,
 }
 
 power_attr(pm_trace);
+
+static ssize_t pm_trace_dev_match_show(struct kobject *kobj,
+                                      struct kobj_attribute *attr,
+                                      char *buf)
+{
+       return show_trace_dev_match(buf, PAGE_SIZE);
+}
+
+static ssize_t
+pm_trace_dev_match_store(struct kobject *kobj, struct kobj_attribute *attr,
+                        const char *buf, size_t n)
+{
+       return -EINVAL;
+}
+
+power_attr(pm_trace_dev_match);
+
 #endif /* CONFIG_PM_TRACE */
 
 static struct attribute * g[] = {
        &state_attr.attr,
 #ifdef CONFIG_PM_TRACE
        &pm_trace_attr.attr,
+       &pm_trace_dev_match_attr.attr,
 #endif
 #ifdef CONFIG_PM_SLEEP
        &pm_async_attr.attr,
@@ -308,7 +326,7 @@ EXPORT_SYMBOL_GPL(pm_wq);
 
 static int __init pm_start_workqueue(void)
 {
-       pm_wq = create_freezeable_workqueue("pm");
+       pm_wq = alloc_workqueue("pm", WQ_FREEZEABLE, 0);
 
        return pm_wq ? 0 : -ENOMEM;
 }
@@ -321,6 +339,7 @@ static int __init pm_init(void)
        int error = pm_start_workqueue();
        if (error)
                return error;
+       hibernate_image_size_init();
        power_kobj = kobject_create_and_add("power", NULL);
        if (!power_kobj)
                return -ENOMEM;