Re: [PATCH] PM: Add device name to suspend_report_result()

From: Bjorn Helgaas
Date: Wed Mar 02 2022 - 15:16:11 EST


On Wed, Mar 02, 2022 at 03:52:51PM +0100, 'Greg Kroah-Hartman' wrote:
> On Wed, Mar 02, 2022 at 08:00:14PM +0900, �念��/TV S/W Lab(VD)/Staff Engineer/�Z���� wrote:
> > > -----Original Message-----
> > > From: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> > > Sent: Wednesday, March 2, 2022 4:58 PM
> > > To: Youngjin Jang <yj84.jang@xxxxxxxxxxx>
> > > Cc: Rafael J. Wysocki <rafael@xxxxxxxxxx>; Pavel Machek <pavel@xxxxxx>;
> > > Len Brown <len.brown@xxxxxxxxx>; Bjorn Helgaas <bhelgaas@xxxxxxxxxx>;
> > > linux-pm@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; linux-
> > > pci@xxxxxxxxxxxxxxx; linux-acpi@xxxxxxxxxxxxxxx; linux-
> > usb@xxxxxxxxxxxxxxx;
> > > js07.lee@xxxxxxxxxxx
> > > 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@xxxxxxxxxxx>
> > > >
> > > > 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

> > > > - 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().
> >
> > 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.
>
> Why does that matter? Fix them all to use the struct device pointer and
> then they will be properly unified with the rest of the kernel log
> infrastructure.

You can #define dev_fmt if you need a prefix.