hwrng: virtio - remove #ifdef guards for PM functions
authorMartin Kaiser <martin@kaiser.cx>
Sun, 12 Nov 2023 16:52:41 +0000 (17:52 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 17 Nov 2023 11:16:29 +0000 (19:16 +0800)
Use pm_sleep_ptr for the freeze and restore functions instead of putting
them under #ifdef CONFIG_PM_SLEEP. The resulting code is slightly simpler.

pm_sleep_ptr lets the compiler see the functions but also allows removing
them as unused code if !CONFIG_PM_SLEEP.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/char/hw_random/virtio-rng.c

index e41a84e..58d92d6 100644 (file)
@@ -208,7 +208,6 @@ static void virtrng_scan(struct virtio_device *vdev)
                vi->hwrng_register_done = true;
 }
 
-#ifdef CONFIG_PM_SLEEP
 static int virtrng_freeze(struct virtio_device *vdev)
 {
        remove_common(vdev);
@@ -238,7 +237,6 @@ static int virtrng_restore(struct virtio_device *vdev)
 
        return err;
 }
-#endif
 
 static const struct virtio_device_id id_table[] = {
        { VIRTIO_ID_RNG, VIRTIO_DEV_ANY_ID },
@@ -252,10 +250,8 @@ static struct virtio_driver virtio_rng_driver = {
        .probe =        virtrng_probe,
        .remove =       virtrng_remove,
        .scan =         virtrng_scan,
-#ifdef CONFIG_PM_SLEEP
-       .freeze =       virtrng_freeze,
-       .restore =      virtrng_restore,
-#endif
+       .freeze =       pm_sleep_ptr(virtrng_freeze),
+       .restore =      pm_sleep_ptr(virtrng_restore),
 };
 
 module_virtio_driver(virtio_rng_driver);