From: "장영진/TV S/W Lab(VD)/Staff Engineer/삼성전자" <yj84.jang@samsung.com>
To: "'Greg Kroah-Hartman'" <gregkh@linuxfoundation.org>
Cc: "'Rafael J. Wysocki'" <rafael@kernel.org>,
"'Pavel Machek'" <pavel@ucw.cz>,
"'Len Brown'" <len.brown@intel.com>,
"'Bjorn Helgaas'" <bhelgaas@google.com>,
<linux-pm@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<linux-pci@vger.kernel.org>, <linux-acpi@vger.kernel.org>,
<linux-usb@vger.kernel.org>, <js07.lee@samsung.com>
Subject: RE: [PATCH] PM: Add device name to suspend_report_result()
Date: Wed, 2 Mar 2022 20:00:14 +0900 [thread overview]
Message-ID: <03e001d82e24$b1b0e450$1512acf0$@samsung.com> (raw)
In-Reply-To: <Yh8jb/X5ZNFvVQlf@kroah.com>
> -----Original Message-----
> From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Sent: Wednesday, March 2, 2022 4:58 PM
> To: Youngjin Jang <yj84.jang@samsung.com>
> Cc: Rafael J. Wysocki <rafael@kernel.org>; Pavel Machek <pavel@ucw.cz>;
> Len Brown <len.brown@intel.com>; Bjorn Helgaas <bhelgaas@google.com>;
> linux-pm@vger.kernel.org; linux-kernel@vger.kernel.org; linux-
> pci@vger.kernel.org; linux-acpi@vger.kernel.org; linux-
usb@vger.kernel.org;
> js07.lee@samsung.com
> Subject: Re: [PATCH] PM: Add device name to suspend_report_result()
>
> On Wed, Mar 02, 2022 at 03:49:17PM +0900, Youngjin Jang wrote:
> > From: "yj84.jang" <yj84.jang@samsung.com>
> >
> > currently, suspend_report_result() prints only function information.
> > If any driver uses common pm function, nobody knows who called failed
> > function exactly.
> >
> > So, device information is needed to recognize specific wrong driver.
> >
> > e.g.)
> > PM: dpm_run_callback(): pm_generic_suspend+0x0/0x48 returns 0
> > PM: dpm_run_callback(): platform_pm_suspend+0x0/0x68 returns 0 after
> > patch,
> > PM: dpm_run_callback(): pm_generic_suspend+0x0/0x48 (amba) returns 0
> > PM: dpm_run_callback(): platform_pm_suspend+0x0/0x68 (armv7-pmu)
> > returns 0
> >
> > Signed-off-by: yj84.jang <yj84.jang@samsung.com>
> > ---
> > drivers/base/power/main.c | 10 +++++-----
> > drivers/pci/pci-driver.c | 14 +++++++-------
> > drivers/pnp/driver.c | 2 +-
> > drivers/usb/core/hcd-pci.c | 4 ++--
> > include/linux/pm.h | 8 ++++----
> > 5 files changed, 19 insertions(+), 19 deletions(-)
> >
> > diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c
> > index 04ea92c..a762fe8 100644
> > --- a/drivers/base/power/main.c
> > +++ b/drivers/base/power/main.c
> > @@ -485,7 +485,7 @@ static int dpm_run_callback(pm_callback_t cb, struct
> device *dev,
> > trace_device_pm_callback_start(dev, info, state.event);
> > error = cb(dev);
> > trace_device_pm_callback_end(dev, error);
> > - suspend_report_result(cb, error);
> > + suspend_report_result(dev, cb, error);
> >
> > initcall_debug_report(dev, calltime, cb, error);
> >
> > @@ -1568,7 +1568,7 @@ static int legacy_suspend(struct device *dev,
> pm_message_t state,
> > trace_device_pm_callback_start(dev, info, state.event);
> > error = cb(dev, state);
> > trace_device_pm_callback_end(dev, error);
> > - suspend_report_result(cb, error);
> > + suspend_report_result(dev, cb, error);
> >
> > initcall_debug_report(dev, calltime, cb, error);
> >
> > @@ -1855,7 +1855,7 @@ static int device_prepare(struct device *dev,
> pm_message_t state)
> > device_unlock(dev);
> >
> > if (ret < 0) {
> > - suspend_report_result(callback, ret);
> > + suspend_report_result(dev, callback, ret);
> > pm_runtime_put(dev);
> > return ret;
> > }
> > @@ -1960,10 +1960,10 @@ int dpm_suspend_start(pm_message_t state) }
> > EXPORT_SYMBOL_GPL(dpm_suspend_start);
> >
> > -void __suspend_report_result(const char *function, void *fn, int ret)
> > +void __suspend_report_result(const char *function, struct device
> > +*dev, void *fn, int ret)
> > {
> > if (ret)
> > - pr_err("%s(): %pS returns %d\n", function, fn, ret);
> > + pr_err("%s(): %pS (%s) returns %d\n", function, fn,
> > +dev_driver_string(dev), ret);
>
> If you have a struct device, please use dev_err().
>
> thanks,
>
> greg k-h
Hello,
Thanks for your review.
I think dev_err() is nice option, but we can see a minor issue.
Prefix log "PM: " would be lost, If I use dev_err() in this context.
As you know, all logs in power management include "PM :" prefix.
So, I think pr_err() with detail information would be better than dev_err().
- PM: amba 1740000.etm: dpm_run_callback(): pm_generic_resume+0x0/0x48
returns 0
next prev parent reply other threads:[~2022-03-02 11:00 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20220302064921epcas1p19fbe8c017d776657caa696a3cef10093@epcas1p1.samsung.com>
2022-03-02 6:49 ` [PATCH] PM: Add device name to suspend_report_result() Youngjin Jang
2022-03-02 7:56 ` Greg Kroah-Hartman
2022-03-02 7:57 ` Greg Kroah-Hartman
2022-03-02 11:00 ` 장영진/TV S/W Lab(VD)/Staff Engineer/삼성전자 [this message]
2022-03-02 14:52 ` 'Greg Kroah-Hartman'
2022-03-02 20:16 ` Bjorn Helgaas
2022-03-02 22:56 ` 장영진/TV S/W Lab(VD)/Staff Engineer/삼성전자
2022-03-03 17:57 ` Bjorn Helgaas
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='03e001d82e24$b1b0e450$1512acf0$@samsung.com' \
--to=yj84.jang@samsung.com \
--cc=bhelgaas@google.com \
--cc=gregkh@linuxfoundation.org \
--cc=js07.lee@samsung.com \
--cc=len.brown@intel.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=pavel@ucw.cz \
--cc=rafael@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.