PM / suspend: Print the driver flags of device during suspend resume
diff mbox series

Message ID 20201023110254.26360-1-yu.c.chen@intel.com
State In Next
Commit f39ee99f5118a71ea162f8f66d743a8c4c401540
Headers show
Series
  • PM / suspend: Print the driver flags of device during suspend resume
Related show

Commit Message

Chen Yu Oct. 23, 2020, 11:02 a.m. UTC
Currently there are 4 driver flags to control system suspend/resume
behavior: DPM_FLAG_NO_DIRECT_COMPLETE, DPM_FLAG_SMART_PREPARE,
DPM_FLAG_SMART_SUSPEND and DPM_FLAG_MAY_SKIP_RESUME. Print these flags
during suspend resume so as to get a brief understanding of the
expected behavior of each device, and to facilitate suspend/resume
debugging/tuning.

To enable this tracing:
echo 'file drivers/base/power/main.c +p' >
/sys/kernel/debug/dynamic_debug/control

Signed-off-by: Chen Yu <yu.c.chen@intel.com>
---
 drivers/base/power/main.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Rafael J. Wysocki Nov. 10, 2020, 6:43 p.m. UTC | #1
On Fri, Oct 23, 2020 at 1:02 PM Chen Yu <yu.c.chen@intel.com> wrote:
>
> Currently there are 4 driver flags to control system suspend/resume
> behavior: DPM_FLAG_NO_DIRECT_COMPLETE, DPM_FLAG_SMART_PREPARE,
> DPM_FLAG_SMART_SUSPEND and DPM_FLAG_MAY_SKIP_RESUME. Print these flags
> during suspend resume so as to get a brief understanding of the
> expected behavior of each device, and to facilitate suspend/resume
> debugging/tuning.
>
> To enable this tracing:
> echo 'file drivers/base/power/main.c +p' >
> /sys/kernel/debug/dynamic_debug/control
>
> Signed-off-by: Chen Yu <yu.c.chen@intel.com>
> ---
>  drivers/base/power/main.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c
> index 205a06752ca9..be6744bdfc93 100644
> --- a/drivers/base/power/main.c
> +++ b/drivers/base/power/main.c
> @@ -442,9 +442,9 @@ static pm_callback_t pm_noirq_op(const struct dev_pm_ops *ops, pm_message_t stat
>
>  static void pm_dev_dbg(struct device *dev, pm_message_t state, const char *info)
>  {
> -       dev_dbg(dev, "%s%s%s\n", info, pm_verb(state.event),
> +       dev_dbg(dev, "%s%s%s driver flags: %x\n", info, pm_verb(state.event),
>                 ((state.event & PM_EVENT_SLEEP) && device_may_wakeup(dev)) ?
> -               ", may wakeup" : "");
> +               ", may wakeup" : "", dev->power.driver_flags);
>  }
>
>  static void pm_dev_err(struct device *dev, pm_message_t state, const char *info,
> --

Applied (with some edits in the subject and changelog) as 5.11 material, thanks!

Patch
diff mbox series

diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c
index 205a06752ca9..be6744bdfc93 100644
--- a/drivers/base/power/main.c
+++ b/drivers/base/power/main.c
@@ -442,9 +442,9 @@  static pm_callback_t pm_noirq_op(const struct dev_pm_ops *ops, pm_message_t stat
 
 static void pm_dev_dbg(struct device *dev, pm_message_t state, const char *info)
 {
-	dev_dbg(dev, "%s%s%s\n", info, pm_verb(state.event),
+	dev_dbg(dev, "%s%s%s driver flags: %x\n", info, pm_verb(state.event),
 		((state.event & PM_EVENT_SLEEP) && device_may_wakeup(dev)) ?
-		", may wakeup" : "");
+		", may wakeup" : "", dev->power.driver_flags);
 }
 
 static void pm_dev_err(struct device *dev, pm_message_t state, const char *info,