diff options
author | Marcos Paulo de Souza <marcos.mage@gmail.com> | 2012-02-04 22:26:13 +0100 |
---|---|---|
committer | Rafael J. Wysocki <rjw@sisk.pl> | 2012-02-09 23:55:43 +0100 |
commit | 8916e3702ec422b57cc549fbae3986106292100f (patch) | |
tree | 476b8f1079e607518d8be5333abfd58ef53d792f | |
parent | 3ed3c7b559f3cae7a5a92860a127ceb0cafd5a9c (diff) | |
download | linux-3.10-8916e3702ec422b57cc549fbae3986106292100f.tar.gz linux-3.10-8916e3702ec422b57cc549fbae3986106292100f.tar.bz2 linux-3.10-8916e3702ec422b57cc549fbae3986106292100f.zip |
PM / Suspend: Avoid code duplication in suspend statistics update
The code
if (error) {
suspend_stats.fail++;
dpm_save_failed_errno(error);
} else
suspend_stats.success++;
Appears in the kernel/power/main.c and kernel/power/suspend.c.
This patch just creates a new function to avoid duplicated code.
Suggested-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
Signed-off-by: Marcos Paulo de Souza <marcos.mage@gmail.com>
Acked-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
-rw-r--r-- | include/linux/suspend.h | 16 | ||||
-rw-r--r-- | kernel/power/main.c | 6 | ||||
-rw-r--r-- | kernel/power/suspend.c | 6 |
3 files changed, 18 insertions, 10 deletions
diff --git a/include/linux/suspend.h b/include/linux/suspend.h index ac1c114c499..b9019189444 100644 --- a/include/linux/suspend.h +++ b/include/linux/suspend.h @@ -95,6 +95,22 @@ static inline void dpm_save_failed_step(enum suspend_stat_step step) } /** + * suspend_stats_update - Update success/failure statistics of suspend-to-ram + * + * @error: Value returned by enter_state() function + */ +static inline void suspend_stats_update(int error) +{ + if (error) { + suspend_stats.fail++; + dpm_save_failed_errno(error); + } else { + suspend_stats.success++; + } +} + + +/** * struct platform_suspend_ops - Callbacks for managing platform dependent * system sleep states. * diff --git a/kernel/power/main.c b/kernel/power/main.c index 8c5014a4e05..b1e324878d5 100644 --- a/kernel/power/main.c +++ b/kernel/power/main.c @@ -296,11 +296,7 @@ static ssize_t state_store(struct kobject *kobj, struct kobj_attribute *attr, } if (state < PM_SUSPEND_MAX && *s) { error = enter_state(state); - if (error) { - suspend_stats.fail++; - dpm_save_failed_errno(error); - } else - suspend_stats.success++; + suspend_stats_update(error); } #endif diff --git a/kernel/power/suspend.c b/kernel/power/suspend.c index 560a639614a..03bc92b4275 100644 --- a/kernel/power/suspend.c +++ b/kernel/power/suspend.c @@ -321,11 +321,7 @@ int pm_suspend(suspend_state_t state) int ret; if (state > PM_SUSPEND_ON && state < PM_SUSPEND_MAX) { ret = enter_state(state); - if (ret) { - suspend_stats.fail++; - dpm_save_failed_errno(ret); - } else - suspend_stats.success++; + suspend_stats_update(ret); return ret; } return -EINVAL; |