From 2489007e7d740ccbc3e0a202914e243ad5178787 Mon Sep 17 00:00:00 2001 From: codeworkx Date: Sat, 22 Sep 2012 09:48:20 +0200 Subject: merge opensource jb u5 Change-Id: I1aaec157aa196f3448eff8636134fce89a814cf2 --- drivers/base/power/main.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'drivers/base/power/main.c') diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c index cc696d6..e7de161 100644 --- a/drivers/base/power/main.c +++ b/drivers/base/power/main.c @@ -1019,6 +1019,9 @@ static int device_suspend(struct device *dev) * dpm_suspend - Execute "suspend" callbacks for all non-sysdev devices. * @state: PM transition of the system being carried out. */ +#ifdef CONFIG_FAST_BOOT +extern bool fake_shut_down; +#endif int dpm_suspend(pm_message_t state) { ktime_t starttime = ktime_get(); @@ -1040,8 +1043,18 @@ int dpm_suspend(pm_message_t state) mutex_lock(&dpm_list_mtx); if (error) { pm_dev_err(dev, state, "", error); +#ifdef CONFIG_FAST_BOOT + if (fake_shut_down) { + pr_info("%s: fake shut down\n", __func__); + error = 0; + } else { + put_device(dev); + break; + } +#else put_device(dev); break; +#endif } if (!list_empty(&dev->power.entry)) list_move(&dev->power.entry, &dpm_suspended_list); -- cgit v1.1