]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/arm/mach-s3c2410/clock.c
Merge branch 'master' into upstream
[linux-2.6-omap-h63xx.git] / arch / arm / mach-s3c2410 / clock.c
index b7f85e6d6b76f6e09816a3c6dd9df34e48161f85..99d174612b53ee34a5004842efc7c281f890d8b6 100644 (file)
@@ -70,7 +70,7 @@ void inline s3c24xx_clk_enable(unsigned int clocks, unsigned int enable)
                clkcon &= ~clocks;
 
        /* ensure none of the special function bits set */
-       clkcon &= ~(S3C2410_CLKCON_IDLE|S3C2410_CLKCON_POWER);
+       clkcon &= ~(S3C2410_CLKCON_IDLE|S3C2410_CLKCON_POWER | 3);
 
        __raw_writel(clkcon, S3C2410_CLKCON);
 }
@@ -367,6 +367,8 @@ static int s3c24xx_clkout_setparent(struct clk *clk, struct clk *parent)
                source = S3C2410_MISCCR_CLK0_UPLL;
        else if (parent == &clk_f)
                source = S3C2410_MISCCR_CLK0_FCLK;
+       else if (parent == &clk_h)
+               source = S3C2410_MISCCR_CLK0_HCLK;
        else if (parent == &clk_p)
                source = S3C2410_MISCCR_CLK0_PCLK;
        else if (clk == &s3c24xx_clkout0 && parent == &s3c24xx_dclk0)
@@ -376,6 +378,8 @@ static int s3c24xx_clkout_setparent(struct clk *clk, struct clk *parent)
        else
                return -EINVAL;
 
+       clk->parent = parent;
+
        if (clk == &s3c24xx_dclk0)
                mask = S3C2410_MISCCR_CLK0_MASK;
        else {