Use the new PM macros for the suspend and resume functions to be
automatically dropped by the compiler when CONFIG_PM or
CONFIG_PM_SLEEP are disabled, without having to use #ifdef guards.
This has the advantage of always compiling these functions in,
independently of any Kconfig option. Thanks to that, bugs and other
regressions are subsequently easier to catch.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Link: https://lore.kernel.org/r/20230722115310.27681-5-paul@crapouillou.net
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
 };
 MODULE_DEVICE_TABLE(virtio, id_table);
 
-#ifdef CONFIG_PM_SLEEP
 static int virtio_i2c_freeze(struct virtio_device *vdev)
 {
        virtio_i2c_del_vqs(vdev);
 {
        return virtio_i2c_setup_vqs(vdev->priv);
 }
-#endif
 
 static const unsigned int features[] = {
        VIRTIO_I2C_F_ZERO_LENGTH_REQUEST,
        .driver                 = {
                .name   = "i2c_virtio",
        },
-#ifdef CONFIG_PM_SLEEP
-       .freeze = virtio_i2c_freeze,
-       .restore = virtio_i2c_restore,
-#endif
+       .freeze                 = pm_sleep_ptr(virtio_i2c_freeze),
+       .restore                = pm_sleep_ptr(virtio_i2c_restore),
 };
 module_virtio_driver(virtio_i2c_driver);