ANDROID: mmc: core: Add "ignore mmc pm notify" functionality
authorDmitry Shmidt <dimitrysh@google.com>
Thu, 7 Oct 2010 21:39:16 +0000 (14:39 -0700)
committerAmit Pundir <amit.pundir@linaro.org>
Mon, 18 Dec 2017 15:41:22 +0000 (21:11 +0530)
Change-Id: I20821a82831b07ca037973d5d92e832372c6b583
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
drivers/mmc/core/host.c
include/linux/mmc/pm.h

index ad88deb2e8f3b046838a3539841717951c33a6c6..f469254bf78a7e2b6a32c449475771ca8a84ee3a 100644 (file)
@@ -429,7 +429,8 @@ int mmc_add_host(struct mmc_host *host)
 #endif
 
        mmc_start_host(host);
-       mmc_register_pm_notifier(host);
+       if (!(host->pm_flags & MMC_PM_IGNORE_PM_NOTIFY))
+               mmc_register_pm_notifier(host);
 
        return 0;
 }
@@ -446,7 +447,8 @@ EXPORT_SYMBOL(mmc_add_host);
  */
 void mmc_remove_host(struct mmc_host *host)
 {
-       mmc_unregister_pm_notifier(host);
+       if (!(host->pm_flags & MMC_PM_IGNORE_PM_NOTIFY))
+               mmc_unregister_pm_notifier(host);
        mmc_stop_host(host);
 
 #ifdef CONFIG_DEBUG_FS
index 4a139204c20c0bb8aab7a7759c74e7e5d5cde9a4..6e2d6a135c7e0d75f830af3a429fb5bc02ca07b2 100644 (file)
@@ -26,5 +26,6 @@ typedef unsigned int mmc_pm_flag_t;
 
 #define MMC_PM_KEEP_POWER      (1 << 0)        /* preserve card power during suspend */
 #define MMC_PM_WAKE_SDIO_IRQ   (1 << 1)        /* wake up host system on SDIO IRQ assertion */
+#define MMC_PM_IGNORE_PM_NOTIFY        (1 << 2)        /* ignore mmc pm notify */
 
 #endif /* LINUX_MMC_PM_H */