mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 01:23:00 -04:00
Merge branches 'pm-runtime' and 'pm-sleep'
* pm-runtime: PM / Runtime: Update runtime_idle() documentation for return value meaning * pm-sleep: PM / sleep: Correct whitespace errors in <linux/pm.h> PM: Add missing "freeze" state PM / Hibernate: Spelling s/anonymouns/anonymous/ PM / Runtime: Add missing "it" in comment PM / suspend: Remove unnecessary !! PCI / PM: Resume runtime-suspended devices later during system suspend ACPI / PM: Resume runtime-suspended devices later during system suspend PM / sleep: Set pm_generic functions to NULL for !CONFIG_PM_SLEEP PM: fix typo in comment PM / hibernate: use name_to_dev_t to parse resume PM / wakeup: Include appropriate header file in kernel/power/wakelock.c PM / sleep: Move prototype declaration to header file kernel/power/power.h PM / sleep: Asynchronous threads for suspend_late PM / sleep: Asynchronous threads for suspend_noirq PM / sleep: Asynchronous threads for resume_early PM / sleep: Asynchronous threads for resume_noirq PM / sleep: Two flags for async suspend_noirq and suspend_late
This commit is contained in:
commit
36cc86e8ec
12 changed files with 354 additions and 106 deletions
|
|
@ -973,16 +973,20 @@ static ssize_t resume_show(struct kobject *kobj, struct kobj_attribute *attr,
|
|||
static ssize_t resume_store(struct kobject *kobj, struct kobj_attribute *attr,
|
||||
const char *buf, size_t n)
|
||||
{
|
||||
unsigned int maj, min;
|
||||
dev_t res;
|
||||
int ret = -EINVAL;
|
||||
int len = n;
|
||||
char *name;
|
||||
|
||||
if (sscanf(buf, "%u:%u", &maj, &min) != 2)
|
||||
goto out;
|
||||
if (len && buf[len-1] == '\n')
|
||||
len--;
|
||||
name = kstrndup(buf, len, GFP_KERNEL);
|
||||
if (!name)
|
||||
return -ENOMEM;
|
||||
|
||||
res = MKDEV(maj,min);
|
||||
if (maj != MAJOR(res) || min != MINOR(res))
|
||||
goto out;
|
||||
res = name_to_dev_t(name);
|
||||
kfree(name);
|
||||
if (!res)
|
||||
return -EINVAL;
|
||||
|
||||
lock_system_sleep();
|
||||
swsusp_resume_device = res;
|
||||
|
|
@ -990,9 +994,7 @@ static ssize_t resume_store(struct kobject *kobj, struct kobj_attribute *attr,
|
|||
printk(KERN_INFO "PM: Starting manual resume from disk\n");
|
||||
noresume = 0;
|
||||
software_resume();
|
||||
ret = n;
|
||||
out:
|
||||
return ret;
|
||||
return n;
|
||||
}
|
||||
|
||||
power_attr(resume);
|
||||
|
|
|
|||
|
|
@ -282,8 +282,8 @@ struct kobject *power_kobj;
|
|||
* state - control system power state.
|
||||
*
|
||||
* show() returns what states are supported, which is hard-coded to
|
||||
* 'standby' (Power-On Suspend), 'mem' (Suspend-to-RAM), and
|
||||
* 'disk' (Suspend-to-Disk).
|
||||
* 'freeze' (Low-Power Idle), 'standby' (Power-On Suspend),
|
||||
* 'mem' (Suspend-to-RAM), and 'disk' (Suspend-to-Disk).
|
||||
*
|
||||
* store() accepts one of those strings, translates it into the
|
||||
* proper enumerated value, and initiates a suspend transition.
|
||||
|
|
|
|||
|
|
@ -49,6 +49,8 @@ static inline char *check_image_kernel(struct swsusp_info *info)
|
|||
*/
|
||||
#define SPARE_PAGES ((1024 * 1024) >> PAGE_SHIFT)
|
||||
|
||||
asmlinkage int swsusp_save(void);
|
||||
|
||||
/* kernel/power/hibernate.c */
|
||||
extern bool freezer_test_done;
|
||||
|
||||
|
|
|
|||
|
|
@ -1268,7 +1268,7 @@ static void free_unnecessary_pages(void)
|
|||
* [number of saveable pages] - [number of pages that can be freed in theory]
|
||||
*
|
||||
* where the second term is the sum of (1) reclaimable slab pages, (2) active
|
||||
* and (3) inactive anonymouns pages, (4) active and (5) inactive file pages,
|
||||
* and (3) inactive anonymous pages, (4) active and (5) inactive file pages,
|
||||
* minus mapped file pages.
|
||||
*/
|
||||
static unsigned long minimum_image_size(unsigned long saveable)
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ static const struct platform_suspend_ops *suspend_ops;
|
|||
|
||||
static bool need_suspend_ops(suspend_state_t state)
|
||||
{
|
||||
return !!(state > PM_SUSPEND_FREEZE);
|
||||
return state > PM_SUSPEND_FREEZE;
|
||||
}
|
||||
|
||||
static DECLARE_WAIT_QUEUE_HEAD(suspend_freeze_wait_head);
|
||||
|
|
|
|||
|
|
@ -18,6 +18,8 @@
|
|||
#include <linux/rbtree.h>
|
||||
#include <linux/slab.h>
|
||||
|
||||
#include "power.h"
|
||||
|
||||
static DEFINE_MUTEX(wakelocks_lock);
|
||||
|
||||
struct wakelock {
|
||||
|
|
|
|||
Loading…
Reference in a new issue