]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/arm/mach-omap2/clock.c
ARM: OMAP3: update clk_wait_ready() for OMAP3 DSS clocks
[linux-2.6-omap-h63xx.git] / arch / arm / mach-omap2 / clock.c
index 1ce6d57fdbe125569a40d6c7aab662e5852d5a0f..f863ab5b4549e624e43325d2f16b6802029c6d9e 100644 (file)
@@ -43,6 +43,7 @@
 #include "prm_regbits_24xx.h"
 #include "cm.h"
 #include "cm_regbits_24xx.h"
+#include "cm_regbits_34xx.h"
 
 #define MAX_CLOCK_ENABLE_WAIT          100000
 
@@ -220,6 +221,12 @@ static void omap2_clk_wait_ready(struct clk *clk)
                        return;
        }
 
+       /* REVISIT: What are the appropriate exclusions for 34XX? */
+       /* OMAP3: ignore DSS-mod clocks */
+       if (cpu_is_omap34xx() &&
+           (((u32)reg & ~0xff) == (u32)OMAP_CM_REGADDR(OMAP3430_DSS_MOD, 0)))
+               return;
+
        /* Check if both functional and interface clocks
         * are running. */
        bit = 1 << clk->enable_bit;
@@ -739,7 +746,7 @@ int omap2_clk_set_parent(struct clk *clk, struct clk *new_parent)
  *-------------------------------------------------------------------------*/
 
 #ifdef CONFIG_OMAP_RESET_CLOCKS
-void __init omap2_clk_disable_unused(struct clk *clk)
+void omap2_clk_disable_unused(struct clk *clk)
 {
        u32 regval32, v;