提交 fd869db6 编写于 作者: D David Brownell 提交者: Greg Kroah-Hartman

[PATCH] Driver core: PM_DEBUG device suspend() messages become informative

This makes the driver model PM suspend debug messages more useful, by

  (a) explaining what event is being sent, since not all suspend()
      requests mean the same thing;

  (b) reporting when a PM_EVENT_SUSPEND call is allowing the device
      to issue wakeup events.
Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
上级 1e724845
...@@ -29,6 +29,15 @@ ...@@ -29,6 +29,15 @@
* lists. This way, the ancestors will be accessed before their descendents. * lists. This way, the ancestors will be accessed before their descendents.
*/ */
static inline char *suspend_verb(u32 event)
{
switch (event) {
case PM_EVENT_SUSPEND: return "suspend";
case PM_EVENT_FREEZE: return "freeze";
default: return "(unknown suspend event)";
}
}
/** /**
* suspend_device - Save state of one device. * suspend_device - Save state of one device.
...@@ -57,7 +66,13 @@ int suspend_device(struct device * dev, pm_message_t state) ...@@ -57,7 +66,13 @@ int suspend_device(struct device * dev, pm_message_t state)
dev->power.prev_state = dev->power.power_state; dev->power.prev_state = dev->power.power_state;
if (dev->bus && dev->bus->suspend && !dev->power.power_state.event) { if (dev->bus && dev->bus->suspend && !dev->power.power_state.event) {
dev_dbg(dev, "suspending\n"); dev_dbg(dev, "%s%s\n",
suspend_verb(state.event),
((state.event == PM_EVENT_SUSPEND)
&& device_may_wakeup(dev))
? ", may wakeup"
: ""
);
error = dev->bus->suspend(dev, state); error = dev->bus->suspend(dev, state);
suspend_report_result(dev->bus->suspend, error); suspend_report_result(dev->bus->suspend, error);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册