[lkml]   [2022]   [Feb]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
Subject[PATCH -next v2] 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 surround these functions in an #ifdef CONFIG_PM block.

../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)

Use DEFINE_RUNTIME_DEV_PM_OPS() to avoid the build errors.
This eliminates the need for #ifdef CONFIG_PM/#endif blocks of code.

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 <>
v2: use DEFINE_RUNTIME_DEV_PM_OPS instead of #ifdef CONFIG_PM blocks or

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

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

-#ifdef CONFIG_PM
static void rtsx_pci_shutdown(struct pci_dev *pcidev)
struct pcr_handle *handle = pci_get_drvdata(pcidev);
@@ -1784,18 +1782,8 @@ 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)
+static DEFINE_RUNTIME_DEV_PM_OPS(rtsx_pci_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 18:01    [W:0.327 / U:0.020 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site