i2s: early initialization spin_lock for regiter read/write
author邱建斌 <qjb@rock-chips.com>
Tue, 17 Sep 2013 02:06:51 +0000 (10:06 +0800)
committer邱建斌 <qjb@rock-chips.com>
Tue, 17 Sep 2013 02:06:51 +0000 (10:06 +0800)
sound/soc/rk29/rk30_i2s.c

index 801464e94b7658399a9727d16f934ce283e9963b..b38de18b7695b80791300e55618b531ae356a20b 100755 (executable)
@@ -636,6 +636,7 @@ static int __devinit rockchip_i2s_probe(struct platform_device *pdev)
        struct snd_soc_dai_driver *dai;
        int    ret;
 
+       spin_lock_init(&i2s->spinlock_wr);
 #if defined(CONFIG_SND_I2S_USE_18V)    
        writel_relaxed(0x2000200,RK30_GRF_BASE + GRF_IO_CON4);//bit9: 1,1.8v;0,3.3v
 #elif defined(CONFIG_SND_I2S_USE_33V)
@@ -764,7 +765,6 @@ static int __devinit rockchip_i2s_probe(struct platform_device *pdev)
        if (ret != 0)
                goto err_i2sv2;
 
-       spin_lock_init(&i2s->spinlock_wr);
        return 0;
 
 err_i2sv2: