[lkml]   [2022]   [Feb]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
Subject[PATCH -next v3] misc: rtsx: fix build for CONFIG_PM not set
When CONFG_WERROR=y and CONFIG_PM is not set, there are fatal build
errors, so use appropriate macros for SYSTEM_SLEEP and RUNTIME_SLEEP
PM_OPS to prevent these. The #ifdef CONFIG_PM / #endif blocks
can also be removed since any dead code will be dropped by them.

../drivers/misc/cardreader/rtsx_pcr.c:1057:13: error: ‘rtsx_enable_aspm’ defined but not used [-Werror=unused-function]
static void rtsx_enable_aspm(struct rtsx_pcr *pcr)
miscread001.out:../drivers/misc/cardreader/rtsx_pcr.c:1065:13: error: ‘rtsx_comm_pm_power_saving’ defined but not used [-Werror=unused-function]
miscread001.out: static void rtsx_comm_pm_power_saving(struct rtsx_pcr *pcr)
../drivers/misc/cardreader/rtsx_pcr.c:1084:13: error: ‘rtsx_pm_power_saving’ defined but not used [-Werror=unused-function]
static void rtsx_pm_power_saving(struct rtsx_pcr *pcr)

Fixes: 597568e8df04 ("misc: rtsx: Rework runtime power management flow")
Signed-off-by: Randy Dunlap <>
Cc: Wei WANG <>
Cc: Kai-Heng Feng <>
Cc: Greg Kroah-Hartman <>
Suggested-by: Arnd Bergmann <>
Paul Cercueil <>
v3: Use SYSTEM_SLEEP_PM_OPS() and RUNTIME_PM_OPS() to avoid the build
errors. This eliminates the need for #ifdef CONFIG_PM/#endif
blocks of code and of __maybe_unused.

drivers/misc/cardreader/rtsx_pcr.c | 14 +++-----------
1 file changed, 3 insertions(+), 11 deletions(-)

--- linux-next-20220225.orig/drivers/misc/cardreader/rtsx_pcr.c
+++ linux-next-20220225/drivers/misc/cardreader/rtsx_pcr.c
@@ -1699,7 +1699,6 @@ out:
return ret;

-#ifdef CONFIG_PM

static void rtsx_pci_shutdown(struct pci_dev *pcidev)
@@ -1784,17 +1783,10 @@ static int rtsx_pci_runtime_resume(struc
return 0;

-#else /* CONFIG_PM */
-#define rtsx_pci_shutdown NULL
-#define rtsx_pci_runtime_suspend NULL
-#define rtsx_pic_runtime_resume NULL
-#endif /* CONFIG_PM */
static const struct dev_pm_ops rtsx_pci_pm_ops = {
- SET_SYSTEM_SLEEP_PM_OPS(rtsx_pci_suspend, rtsx_pci_resume)
- SET_RUNTIME_PM_OPS(rtsx_pci_runtime_suspend, rtsx_pci_runtime_resume, rtsx_pci_runtime_idle)
+ SYSTEM_SLEEP_PM_OPS(rtsx_pci_suspend, rtsx_pci_resume)
+ RUNTIME_PM_OPS(rtsx_pci_runtime_suspend, rtsx_pci_runtime_resume,
+ rtsx_pci_runtime_idle)

static struct pci_driver rtsx_pci_driver = {
 \ /
  Last update: 2022-02-27 20:02    [W:0.024 / U:1.356 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site