aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/power/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/power/main.c')
-rw-r--r--kernel/power/main.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/kernel/power/main.c b/kernel/power/main.c
index 4d403323a7bb..873228c71dab 100644
--- a/kernel/power/main.c
+++ b/kernel/power/main.c
@@ -17,6 +17,7 @@
17#include <linux/pm.h> 17#include <linux/pm.h>
18#include <linux/console.h> 18#include <linux/console.h>
19#include <linux/cpu.h> 19#include <linux/cpu.h>
20#include <linux/resume-trace.h>
20 21
21#include "power.h" 22#include "power.h"
22 23
@@ -281,10 +282,39 @@ static ssize_t state_store(struct subsystem * subsys, const char * buf, size_t n
281 282
282power_attr(state); 283power_attr(state);
283 284
285#ifdef CONFIG_PM_TRACE
286int pm_trace_enabled;
287
288static ssize_t pm_trace_show(struct subsystem * subsys, char * buf)
289{
290 return sprintf(buf, "%d\n", pm_trace_enabled);
291}
292
293static ssize_t
294pm_trace_store(struct subsystem * subsys, const char * buf, size_t n)
295{
296 int val;
297
298 if (sscanf(buf, "%d", &val) == 1) {
299 pm_trace_enabled = !!val;
300 return n;
301 }
302 return -EINVAL;
303}
304
305power_attr(pm_trace);
306
307static struct attribute * g[] = {
308 &state_attr.attr,
309 &pm_trace_attr.attr,
310 NULL,
311};
312#else
284static struct attribute * g[] = { 313static struct attribute * g[] = {
285 &state_attr.attr, 314 &state_attr.attr,
286 NULL, 315 NULL,
287}; 316};
317#endif /* CONFIG_PM_TRACE */
288 318
289static struct attribute_group attr_group = { 319static struct attribute_group attr_group = {
290 .attrs = g, 320 .attrs = g,