[PATCH -next v2] misc: rtsx: fix build for CONFIG_PM not set

From: Randy Dunlap
Date: Sun Feb 27 2022 - 12:01:08 EST


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 <rdunlap@xxxxxxxxxxxxx>
Cc: Wei WANG <wei_wang@xxxxxxxxxxxxxx>
Cc: Kai-Heng Feng <kai.heng.feng@xxxxxxxxxxxxx>
Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Suggested-by: Arnd Bergmann <arnd@xxxxxxxx>
---
v2: use DEFINE_RUNTIME_DEV_PM_OPS instead of #ifdef CONFIG_PM blocks or
__maybe_unused

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 = {
.name = DRV_NAME_RTSX_PCI,