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 - 04:56:38 EST


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?

thanks,

greg k-h