diff mbox series

rtc: x86: amd-pmc: fix build failure with CONFIG_RTC_SYSTOHC=n

Message ID 20211026141317.2999103-1-arnd@kernel.org
State Superseded
Headers show
Series rtc: x86: amd-pmc: fix build failure with CONFIG_RTC_SYSTOHC=n | expand

Commit Message

Arnd Bergmann Oct. 26, 2021, 2:12 p.m. UTC
From: Arnd Bergmann <arnd@arndb.de>

The newly added logic to set the RTC during suspend from
platform specific code fails with a link error here:

drivers/platform/x86/amd-pmc.c:428:30: error: use of undeclared identifier 'CONFIG_RTC_SYSTOHC_DEVICE'

Add an #ifdef so this is only done if the functionality
is enabled.

Fixes: 59348401ebed ("platform/x86: amd-pmc: Add special handling for timer based S0i3 wakeup")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/platform/x86/amd-pmc.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Mario Limonciello Oct. 26, 2021, 5:16 p.m. UTC | #1
[Public]



> -----Original Message-----
> From: Arnd Bergmann <arnd@kernel.org>
> Sent: Tuesday, October 26, 2021 09:12
> To: linux-rtc@vger.kernel.org; Alexandre Belloni
> <alexandre.belloni@bootlin.com>; S-k, Shyam-sundar <Shyam-sundar.S-
> k@amd.com>; Hans de Goede <hdegoede@redhat.com>; Mark Gross
> <markgross@kernel.org>; Limonciello, Mario <Mario.Limonciello@amd.com>
> Cc: Arnd Bergmann <arnd@arndb.de>; Goswami, Sanket
> <Sanket.Goswami@amd.com>; Sachi King <nakato@nakato.io>; platform-
> driver-x86@vger.kernel.org; linux-kernel@vger.kernel.org
> Subject: [PATCH] rtc: x86: amd-pmc: fix build failure with
> CONFIG_RTC_SYSTOHC=n
> 
> From: Arnd Bergmann <arnd@arndb.de>
> 
> The newly added logic to set the RTC during suspend from
> platform specific code fails with a link error here:
> 
> drivers/platform/x86/amd-pmc.c:428:30: error: use of undeclared identifier
> 'CONFIG_RTC_SYSTOHC_DEVICE'
> 
> Add an #ifdef so this is only done if the functionality
> is enabled.
> 
> Fixes: 59348401ebed ("platform/x86: amd-pmc: Add special handling for timer
> based S0i3 wakeup")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Hey Arnd,

Thanks for the patch.  We had discussed this a bit already and there are 2 other ideas
out on the list already that also solve it.

> ---
>  drivers/platform/x86/amd-pmc.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/platform/x86/amd-pmc.c b/drivers/platform/x86/amd-pmc.c
> index 678bf6874c63..8bd5de4d9d3a 100644
> --- a/drivers/platform/x86/amd-pmc.c
> +++ b/drivers/platform/x86/amd-pmc.c
> @@ -414,6 +414,7 @@ static int amd_pmc_get_os_hint(struct amd_pmc_dev
> *dev)
>  	return -EINVAL;
>  }
> 
> +#ifdef CONFIG_RTC_SYSTOHC
>  static int amd_pmc_verify_czn_rtc(struct amd_pmc_dev *pdev, u32 *arg)
>  {
>  	struct rtc_device *rtc_device;
> @@ -461,6 +462,7 @@ static int amd_pmc_verify_czn_rtc(struct amd_pmc_dev
> *pdev, u32 *arg)
> 
>  	return rc;
>  }
> +#endif
> 
>  static int __maybe_unused amd_pmc_suspend(struct device *dev)
>  {
> @@ -473,12 +475,14 @@ static int __maybe_unused amd_pmc_suspend(struct
> device *dev)
>  	amd_pmc_send_cmd(pdev, 0, NULL, SMU_MSG_LOG_RESET, 0);
>  	amd_pmc_send_cmd(pdev, 0, NULL, SMU_MSG_LOG_START, 0);
> 
> +#ifdef CONFIG_RTC_SYSTOHC
>  	/* Activate CZN specific RTC functionality */
>  	if (pdev->cpu_id == AMD_CPU_ID_CZN) {
>  		rc = amd_pmc_verify_czn_rtc(pdev, &arg);
>  		if (rc < 0)
>  			return rc;
>  	}
> +#endif
> 
>  	/* Dump the IdleMask before we send hint to SMU */
>  	amd_pmc_idlemask_read(pdev, dev, NULL);
> --
> 2.29.2
diff mbox series

Patch

diff --git a/drivers/platform/x86/amd-pmc.c b/drivers/platform/x86/amd-pmc.c
index 678bf6874c63..8bd5de4d9d3a 100644
--- a/drivers/platform/x86/amd-pmc.c
+++ b/drivers/platform/x86/amd-pmc.c
@@ -414,6 +414,7 @@  static int amd_pmc_get_os_hint(struct amd_pmc_dev *dev)
 	return -EINVAL;
 }
 
+#ifdef CONFIG_RTC_SYSTOHC
 static int amd_pmc_verify_czn_rtc(struct amd_pmc_dev *pdev, u32 *arg)
 {
 	struct rtc_device *rtc_device;
@@ -461,6 +462,7 @@  static int amd_pmc_verify_czn_rtc(struct amd_pmc_dev *pdev, u32 *arg)
 
 	return rc;
 }
+#endif
 
 static int __maybe_unused amd_pmc_suspend(struct device *dev)
 {
@@ -473,12 +475,14 @@  static int __maybe_unused amd_pmc_suspend(struct device *dev)
 	amd_pmc_send_cmd(pdev, 0, NULL, SMU_MSG_LOG_RESET, 0);
 	amd_pmc_send_cmd(pdev, 0, NULL, SMU_MSG_LOG_START, 0);
 
+#ifdef CONFIG_RTC_SYSTOHC
 	/* Activate CZN specific RTC functionality */
 	if (pdev->cpu_id == AMD_CPU_ID_CZN) {
 		rc = amd_pmc_verify_czn_rtc(pdev, &arg);
 		if (rc < 0)
 			return rc;
 	}
+#endif
 
 	/* Dump the IdleMask before we send hint to SMU */
 	amd_pmc_idlemask_read(pdev, dev, NULL);