]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
mmc: core: Switch to use pm_ptr() for mmc_host_class_dev_pm_ops
authorShawn Lin <shawn.lin@rock-chips.com>
Fri, 27 Mar 2026 04:11:23 +0000 (12:11 +0800)
committerUlf Hansson <ulf.hansson@linaro.org>
Fri, 27 Mar 2026 09:25:16 +0000 (10:25 +0100)
Currently, the mmc_host_class_dev_pm_ops and its callback
functions are wrapped in #ifdef CONFIG_PM_SLEEP to handle the
conditional compilation when PM support is disabled.

Replace this #ifdef usage with the standard pm_ptr() helpers. This
allows the compiler to automatically optimize away the unused code
paths when CONFIG_PM_SLEEP is not selected, resulting in cleaner and
more maintainable code.

Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/core/host.c

index 4e1514bda65bff62aa8bee85a321fd5c5443a395..b7ce3137d4529dd443d79ea00ab727fe6aa8354a 100644 (file)
@@ -33,7 +33,6 @@
 
 static DEFINE_IDA(mmc_host_ida);
 
-#ifdef CONFIG_PM_SLEEP
 static int mmc_host_class_prepare(struct device *dev)
 {
        struct mmc_host *host = cls_dev_to_mmc_host(dev);
@@ -60,15 +59,10 @@ static void mmc_host_class_complete(struct device *dev)
 }
 
 static const struct dev_pm_ops mmc_host_class_dev_pm_ops = {
-       .prepare = mmc_host_class_prepare,
-       .complete = mmc_host_class_complete,
+       .prepare = pm_sleep_ptr(mmc_host_class_prepare),
+       .complete = pm_sleep_ptr(mmc_host_class_complete),
 };
 
-#define MMC_HOST_CLASS_DEV_PM_OPS (&mmc_host_class_dev_pm_ops)
-#else
-#define MMC_HOST_CLASS_DEV_PM_OPS NULL
-#endif
-
 static void mmc_host_classdev_release(struct device *dev)
 {
        struct mmc_host *host = cls_dev_to_mmc_host(dev);
@@ -90,7 +84,7 @@ static const struct class mmc_host_class = {
        .name           = "mmc_host",
        .dev_release    = mmc_host_classdev_release,
        .shutdown_pre   = mmc_host_classdev_shutdown,
-       .pm             = MMC_HOST_CLASS_DEV_PM_OPS,
+       .pm             = pm_ptr(&mmc_host_class_dev_pm_ops),
 };
 
 int mmc_register_host_class(void)