wifi: mt76: mt7921s: Switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
authorDeren Wu <deren.wu@mediatek.com>
Thu, 15 Sep 2022 08:36:04 +0000 (16:36 +0800)
committerFelix Fietkau <nbd@nbd.name>
Thu, 15 Sep 2022 11:21:39 +0000 (13:21 +0200)
Use the new DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() macros to
handle the .suspend/.resume callbacks. The new macros allow suspend
and resume functions to be automatically dropped without any #ifdef
guards.

Tested-by: YN Chen <YN.Chen@mediatek.com>
Signed-off-by: Deren Wu <deren.wu@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7921/sdio.c

index 2dd7ce5..3b25a06 100644 (file)
@@ -195,7 +195,6 @@ static void mt7921s_remove(struct sdio_func *func)
        mt7921s_unregister_device(dev);
 }
 
-#ifdef CONFIG_PM
 static int mt7921s_suspend(struct device *__dev)
 {
        struct sdio_func *func = dev_to_sdio_func(__dev);
@@ -302,26 +301,18 @@ failed:
        return err;
 }
 
-static const struct dev_pm_ops mt7921s_pm_ops = {
-       .suspend = mt7921s_suspend,
-       .resume = mt7921s_resume,
-};
-#endif
-
 MODULE_DEVICE_TABLE(sdio, mt7921s_table);
 MODULE_FIRMWARE(MT7921_FIRMWARE_WM);
 MODULE_FIRMWARE(MT7921_ROM_PATCH);
 
+static DEFINE_SIMPLE_DEV_PM_OPS(mt7921s_pm_ops, mt7921s_suspend, mt7921s_resume);
+
 static struct sdio_driver mt7921s_driver = {
        .name           = KBUILD_MODNAME,
        .probe          = mt7921s_probe,
        .remove         = mt7921s_remove,
        .id_table       = mt7921s_table,
-#ifdef CONFIG_PM
-       .drv = {
-               .pm = &mt7921s_pm_ops,
-       }
-#endif
+       .drv.pm         = pm_sleep_ptr(&mt7921s_pm_ops),
 };
 module_sdio_driver(mt7921s_driver);
 MODULE_AUTHOR("Sean Wang <sean.wang@mediatek.com>");