earlysuspend: more verbose
author黄涛 <huangtao@rock-chips.com>
Tue, 25 Jan 2011 09:56:22 +0000 (17:56 +0800)
committer黄涛 <huangtao@rock-chips.com>
Tue, 25 Jan 2011 12:08:25 +0000 (20:08 +0800)
kernel/power/earlysuspend.c

index 84bed51dcdce79503d718186775e690560d4637b..d76c496d773d9ed82d421835a179d4ef284080e5 100644 (file)
@@ -20,6 +20,7 @@
 #include <linux/syscalls.h> /* sys_sync */
 #include <linux/wakelock.h>
 #include <linux/workqueue.h>
+#include <linux/kallsyms.h>
 
 #include "power.h"
 
@@ -27,7 +28,11 @@ enum {
        DEBUG_USER_STATE = 1U << 0,
        DEBUG_SUSPEND = 1U << 2,
 };
+#ifdef DEBUG
+static int debug_mask = DEBUG_USER_STATE | DEBUG_SUSPEND;
+#else
 static int debug_mask = DEBUG_USER_STATE;
+#endif
 module_param_named(debug_mask, debug_mask, int, S_IRUGO | S_IWUSR | S_IWGRP);
 
 static DEFINE_MUTEX(early_suspend_lock);
@@ -94,6 +99,8 @@ static void early_suspend(struct work_struct *work)
        if (debug_mask & DEBUG_SUSPEND)
                pr_info("early_suspend: call handlers\n");
        list_for_each_entry(pos, &early_suspend_handlers, link) {
+               if (debug_mask & DEBUG_SUSPEND)
+                       print_symbol("early_suspend: call %s\n", (unsigned long)pos->suspend);
                if (pos->suspend != NULL)
                        pos->suspend(pos);
        }
@@ -131,9 +138,12 @@ static void late_resume(struct work_struct *work)
        }
        if (debug_mask & DEBUG_SUSPEND)
                pr_info("late_resume: call handlers\n");
-       list_for_each_entry_reverse(pos, &early_suspend_handlers, link)
+       list_for_each_entry_reverse(pos, &early_suspend_handlers, link) {
+               if (debug_mask & DEBUG_SUSPEND)
+                       print_symbol("late_resume: call %s\n", (unsigned long)pos->resume);
                if (pos->resume != NULL)
                        pos->resume(pos);
+       }
        if (debug_mask & DEBUG_SUSPEND)
                pr_info("late_resume: done\n");
 abort: