]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/arm/mach-omap2/board-n800-audio.c
omap2 clock: move 24xx clock definitions from clock.h into clock24xx.h
[linux-2.6-omap-h63xx.git] / arch / arm / mach-omap2 / board-n800-audio.c
index fa6ab869927a054a6553feada55c87d6b265eb51..5940f6191ab32cd6d1bdd65a8847a17e9a56e800 100644 (file)
@@ -35,6 +35,7 @@
 #define AUDIO_ENABLED
 
 static struct clk *sys_clkout2;
+static struct clk *sys_clkout2_src;
 static struct clk *func96m_clk;
 static struct device *eac_device;
 static struct device *tsc2301_device;
@@ -127,7 +128,7 @@ static int n800_audio_register_controls(void *pdata, struct snd_card *card)
 
 static struct eac_codec n800_eac_codec = {
        .mclk_src = EAC_MCLK_EXT_2x12288000,
-       .codec_mode = EAC_CODEC_I2S,
+       .codec_mode = EAC_CODEC_I2S_MASTER,
        .codec_conf.i2s.polarity_changed_mode = 0,
        .codec_conf.i2s.sync_delay_enable = 0,
        .default_rate = 48000,
@@ -186,21 +187,28 @@ static void n800_eac_cleanup(struct device *dev)
 
 static int n800_codec_get_clocks(struct device *dev)
 {
+       sys_clkout2_src = clk_get(dev, "sys_clkout2_src");
+       if (IS_ERR(sys_clkout2_src)) {
+               dev_err(dev, "Could not get sys_clkout2_src clock\n");
+               return -ENODEV;
+       }
        sys_clkout2 = clk_get(dev, "sys_clkout2");
        if (IS_ERR(sys_clkout2)) {
-               printk(KERN_ERR "Could not get sys_clkout2\n");
+               dev_err(dev, "Could not get sys_clkout2 clock\n");
+               clk_put(sys_clkout2_src);
                return -ENODEV;
        }
        /* configure 12 MHz output on SYS_CLKOUT2. Therefore we must use
         * 96 MHz as its parent in order to get 12 MHz */
        func96m_clk = clk_get(dev, "func_96m_ck");
        if (IS_ERR(func96m_clk)) {
-               printk(KERN_ERR "could not get func 96M clock\n");
+               dev_err(dev, "Could not get func 96M clock\n");
                clk_put(sys_clkout2);
+               clk_put(sys_clkout2_src);
                return -ENODEV;
        }
 
-       clk_set_parent(sys_clkout2, func96m_clk);
+       clk_set_parent(sys_clkout2_src, func96m_clk);
        clk_set_rate(sys_clkout2, 12000000);
 
        return 0;
@@ -210,6 +218,7 @@ static void n800_codec_put_clocks(struct device *dev)
 {
        clk_put(func96m_clk);
        clk_put(sys_clkout2);
+       clk_put(sys_clkout2_src);
 }
 
 static int n800_codec_enable_clock(struct device *dev)