Re: [PATCH 1/2] PM: base: power: don't try to use non-existing RTC for storing data

From: Greg Kroah-Hartman
Date: Fri Sep 03 2021 - 05:09:03 EST


On Fri, Sep 03, 2021 at 11:01:58AM +0200, Juergen Gross wrote:
> On 03.09.21 10:56, Greg Kroah-Hartman wrote:
> > On Fri, Sep 03, 2021 at 10:49:36AM +0200, Juergen Gross wrote:
> > > In there is no legacy RTC device, don't try to use it for storing trace
> > > data across suspend/resume.
> > >
> > > Cc: <stable@xxxxxxxxxxxxxxx>
> > > Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
> > > ---
> > > drivers/base/power/trace.c | 10 ++++++++++
> > > 1 file changed, 10 insertions(+)
> > >
> > > diff --git a/drivers/base/power/trace.c b/drivers/base/power/trace.c
> > > index a97f33d0c59f..b7c80849455c 100644
> > > --- a/drivers/base/power/trace.c
> > > +++ b/drivers/base/power/trace.c
> > > @@ -13,6 +13,7 @@
> > > #include <linux/export.h>
> > > #include <linux/rtc.h>
> > > #include <linux/suspend.h>
> > > +#include <linux/init.h>
> > > #include <linux/mc146818rtc.h>
> > > @@ -165,6 +166,9 @@ void generate_pm_trace(const void *tracedata, unsigned int user)
> > > const char *file = *(const char **)(tracedata + 2);
> > > unsigned int user_hash_value, file_hash_value;
> > > + if (!x86_platform.legacy.rtc)
> > > + return 0;
> >
> > Why does the driver core code here care about a platform/arch-specific
> > thing at all? Did you just break all other arches?
>
> This file is only compiled for x86. It depends on CONFIG_PM_TRACE_RTC,
> which has a "depends on X86" attribute.

Odd, and not obvious at all :(

Ok, I'll let Rafael review this...