diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-24 17:32:18 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-24 17:47:59 -0400 |
commit | d02f40e81e003be6ddba5c176f2e40ea290c3729 (patch) | |
tree | 9a8147cc77bc6fead512abf6dfce25d4c38fa6b2 /drivers/base/power | |
parent | eb71c87a492b7090ff9e8ac46912c480a1687e38 (diff) |
Enable minimal per-device resume tracing
This is the minimal resume trace code to find which device resume (if
any) results in problems. Usually, you'd use the information this
generates as a starting point to adding more fine-grained trace event
points.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/base/power')
-rw-r--r-- | drivers/base/power/resume.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/base/power/resume.c b/drivers/base/power/resume.c index 317edbf0feca..520679ce53a8 100644 --- a/drivers/base/power/resume.c +++ b/drivers/base/power/resume.c | |||
@@ -9,6 +9,7 @@ | |||
9 | */ | 9 | */ |
10 | 10 | ||
11 | #include <linux/device.h> | 11 | #include <linux/device.h> |
12 | #include <linux/resume-trace.h> | ||
12 | #include "../base.h" | 13 | #include "../base.h" |
13 | #include "power.h" | 14 | #include "power.h" |
14 | 15 | ||
@@ -23,6 +24,8 @@ int resume_device(struct device * dev) | |||
23 | { | 24 | { |
24 | int error = 0; | 25 | int error = 0; |
25 | 26 | ||
27 | TRACE_DEVICE(dev); | ||
28 | TRACE_RESUME(0); | ||
26 | down(&dev->sem); | 29 | down(&dev->sem); |
27 | if (dev->power.pm_parent | 30 | if (dev->power.pm_parent |
28 | && dev->power.pm_parent->power.power_state.event) { | 31 | && dev->power.pm_parent->power.power_state.event) { |
@@ -36,6 +39,7 @@ int resume_device(struct device * dev) | |||
36 | error = dev->bus->resume(dev); | 39 | error = dev->bus->resume(dev); |
37 | } | 40 | } |
38 | up(&dev->sem); | 41 | up(&dev->sem); |
42 | TRACE_RESUME(error); | ||
39 | return error; | 43 | return error; |
40 | } | 44 | } |
41 | 45 | ||