Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
[firefly-linux-kernel-4.4.55.git] / kernel / power / main.c
index 8e90f330f1398277d1b41b0e94c99e71759e2665..9a59d042ea84f67c40537f2bfbcf7593a05d8716 100644 (file)
@@ -296,8 +296,8 @@ static ssize_t state_show(struct kobject *kobj, struct kobj_attribute *attr,
        suspend_state_t i;
 
        for (i = PM_SUSPEND_MIN; i < PM_SUSPEND_MAX; i++)
-               if (pm_states[i].state)
-                       s += sprintf(s,"%s ", pm_states[i].label);
+               if (pm_states[i])
+                       s += sprintf(s,"%s ", pm_states[i]);
 
 #endif
        if (hibernation_available())
@@ -311,8 +311,7 @@ static ssize_t state_show(struct kobject *kobj, struct kobj_attribute *attr,
 static suspend_state_t decode_state(const char *buf, size_t n)
 {
 #ifdef CONFIG_SUSPEND
-       suspend_state_t state = PM_SUSPEND_MIN;
-       struct pm_sleep_state *s;
+       suspend_state_t state;
 #endif
        char *p;
        int len;
@@ -325,10 +324,12 @@ static suspend_state_t decode_state(const char *buf, size_t n)
                return PM_SUSPEND_MAX;
 
 #ifdef CONFIG_SUSPEND
-       for (s = &pm_states[state]; state < PM_SUSPEND_MAX; s++, state++)
-               if (s->state && len == strlen(s->label)
-                   && !strncmp(buf, s->label, len))
-                       return s->state;
+       for (state = PM_SUSPEND_MIN; state < PM_SUSPEND_MAX; state++) {
+               const char *label = pm_states[state];
+
+               if (label && len == strlen(label) && !strncmp(buf, label, len))
+                       return state;
+       }
 #endif
 
        return PM_SUSPEND_ON;
@@ -446,8 +447,8 @@ static ssize_t autosleep_show(struct kobject *kobj,
 
 #ifdef CONFIG_SUSPEND
        if (state < PM_SUSPEND_MAX)
-               return sprintf(buf, "%s\n", pm_states[state].state ?
-                                       pm_states[state].label : "error");
+               return sprintf(buf, "%s\n", pm_states[state] ?
+                                       pm_states[state] : "error");
 #endif
 #ifdef CONFIG_HIBERNATION
        return sprintf(buf, "disk\n");
@@ -615,7 +616,6 @@ static struct attribute_group attr_group = {
        .attrs = g,
 };
 
-#ifdef CONFIG_PM_RUNTIME
 struct workqueue_struct *pm_wq;
 EXPORT_SYMBOL_GPL(pm_wq);
 
@@ -625,9 +625,6 @@ static int __init pm_start_workqueue(void)
 
        return pm_wq ? 0 : -ENOMEM;
 }
-#else
-static inline int pm_start_workqueue(void) { return 0; }
-#endif
 
 static int __init pm_init(void)
 {