]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
MLK-10238-4: power: domain: add suspend_noirq/resume_noirq in power domain
authorRobin Gong <b38343@freescale.com>
Tue, 10 Feb 2015 01:43:25 +0000 (09:43 +0800)
committerRobin Gong <b38343@freescale.com>
Wed, 11 Feb 2015 05:07:33 +0000 (13:07 +0800)
Since some driver which use power domain may use suspend_noirq/resume_noirq
we need implement it in power domain framework.

Signed-off-by: Robin Gong <b38343@freescale.com>
(cherry picked from commit 1ab47908d426ce8252c27db962f54588f5d6b156)

drivers/base/power/domain.c

index 4ba157e49f42df68ae55bfe745db7825798cd788..f73320ce6d5763fc54a6c6c979919a9c0493ef71 100644 (file)
@@ -999,6 +999,8 @@ static int pm_genpd_suspend_noirq(struct device *dev)
            || (dev->power.wakeup_path && genpd_dev_active_wakeup(genpd, dev)))
                return 0;
 
+       pm_generic_suspend_noirq(dev);
+
        genpd_stop_dev(genpd, dev);
 
        /*
@@ -1021,6 +1023,7 @@ static int pm_genpd_suspend_noirq(struct device *dev)
 static int pm_genpd_resume_noirq(struct device *dev)
 {
        struct generic_pm_domain *genpd;
+       int ret;
 
        dev_dbg(dev, "%s()\n", __func__);
 
@@ -1040,7 +1043,11 @@ static int pm_genpd_resume_noirq(struct device *dev)
        pm_genpd_sync_poweron(genpd);
        genpd->suspended_count--;
 
-       return genpd_start_dev(genpd, dev);
+       ret = genpd_start_dev(genpd, dev);
+
+       pm_generic_resume_noirq(dev);
+
+       return ret;
 }
 
 /**