Re: [PATCH] PM-Trace: add pm-trace support for suspending phase

From: Greg Kroah-Hartman
Date: Mon Feb 09 2015 - 16:56:09 EST


On Mon, Feb 09, 2015 at 12:03:23PM +0800, Fu, Zhonghui wrote:
> >From ec9c0f24e800461361eaf8b280abe4272b00772d Mon Sep 17 00:00:00 2001
> From: Zhonghui Fu <zhonghui.fu@xxxxxxxxxxxxxxx>
> Date: Mon, 9 Feb 2015 11:09:22 +0800
> Subject: [PATCH] PM-Trace: add pm-trace support for suspending phase

Why is this crud here?

>
> Occasinally, the system can't come back up after suspend/resume
> due to problems of device suspending phase. This patch make
> PM_TRACE infrastructure cover device suspending phase of
> suspend/resume process, and the information in RTC can tell
> develpers which device suspending function make system hang.
>
> Signed-off-by: Zhonghui Fu <zhonghui.fu@xxxxxxxxxxxxxxx>
> ---
> arch/x86/include/asm/resume-trace.h | 2 +-
> drivers/base/power/main.c | 30 +++++++++++++++++++++---------
> include/linux/resume-trace.h | 2 +-
> 3 files changed, 23 insertions(+), 11 deletions(-)
>
> diff --git a/arch/x86/include/asm/resume-trace.h b/arch/x86/include/asm/resume-trace.h
> index 3ff1c2c..0ca2215 100644
> --- a/arch/x86/include/asm/resume-trace.h
> +++ b/arch/x86/include/asm/resume-trace.h
> @@ -3,7 +3,7 @@
>
> #include <asm/asm.h>
>
> -#define TRACE_RESUME(user) \
> +#define TRACE_SUSPEND_RESUME(user) \
> do { \
> if (pm_trace_enabled) { \
> const void *tracedata; \

Why rename this?

If you want to do that, do it in 2 different functions (rename first,
with justification, add new functionality in a second patch)

> @@ -1078,7 +1082,7 @@ static int device_suspend_noirq(struct device *dev)
> {
> reinit_completion(&dev->power.completion);
>
> - if (pm_async_enabled && dev->power.async_suspend) {
> + if (is_async(dev)) {

Why change this logic?

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/