]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/arm/mach-omap2/clockdomain.c
[ARM] OMAP2/3 clockdomains: autodeps should respect platform flags
[linux-2.6-omap-h63xx.git] / arch / arm / mach-omap2 / clockdomain.c
index e9b4f6c564e44f58dc461cb71fb87f967f574db6..ae0c53abb55aac8ac7f9cb19caf88b639b807746 100644 (file)
@@ -100,6 +100,9 @@ static void _clkdm_add_autodeps(struct clockdomain *clkdm)
                if (IS_ERR(autodep->pwrdm.ptr))
                        continue;
 
+               if (!omap_chip_is(autodep->omap_chip))
+                       continue;
+
                pr_debug("clockdomain: adding %s sleepdep/wkdep for "
                         "pwrdm %s\n", autodep->pwrdm.ptr->name,
                         clkdm->pwrdm.ptr->name);
@@ -125,6 +128,9 @@ static void _clkdm_del_autodeps(struct clockdomain *clkdm)
                if (IS_ERR(autodep->pwrdm.ptr))
                        continue;
 
+               if (!omap_chip_is(autodep->omap_chip))
+                       continue;
+
                pr_debug("clockdomain: removing %s sleepdep/wkdep for "
                         "pwrdm %s\n", autodep->pwrdm.ptr->name,
                         clkdm->pwrdm.ptr->name);
@@ -568,6 +574,8 @@ int omap2_clkdm_clk_enable(struct clockdomain *clkdm, struct clk *clk)
        else
                omap2_clkdm_wakeup(clkdm);
 
+       pwrdm_wait_transition(clkdm->pwrdm.ptr);
+
        return 0;
 }