ASoC: Rename snd_soc_register_card() to snd_soc_init_card()
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / sound / soc / codecs / tlv320aic23.c
index a95b538b8fe76642661ce2c315e442e2a50fcea3..d209bec02a69d668c4e5f92a28a7fb3d79883f6d 100644 (file)
@@ -331,10 +331,11 @@ static int find_rate(int mclk, u32 need_adc, u32 need_dac)
        adc_h = need_adc + (need_adc >> 5);
        dac_l = need_dac - (need_dac >> 5);
        dac_h = need_dac + (need_dac >> 5);
-       for (i = 0; i < 4; i++) {
+       for (i = 0; i < ARRAY_SIZE(bosr_usb_divisor_table); i++) {
                int base = mclk / bosr_usb_divisor_table[i];
                int mask = sr_valid_mask[i];
-               for (j = 0; j < 16; j++, mask >>= 1) {
+               for (j = 0; j < ARRAY_SIZE(sr_adc_mult_table);
+                               j++, mask >>= 1) {
                        int adc;
                        int dac;
                        int score;
@@ -364,6 +365,7 @@ static int find_rate(int mclk, u32 need_adc, u32 need_dac)
        return (best_j << 2) | best_i | (best_div << TLV320AIC23_CLKIN_SHIFT);
 }
 
+#ifdef DEBUG
 static void get_current_sample_rates(struct snd_soc_codec *codec, int mclk,
                u32 *sample_rate_adc, u32 *sample_rate_dac)
 {
@@ -379,6 +381,7 @@ static void get_current_sample_rates(struct snd_soc_codec *codec, int mclk,
        *sample_rate_adc = adc;
        *sample_rate_dac = dac;
 }
+#endif
 
 static int set_sample_rate_control(struct snd_soc_codec *codec, int mclk,
                u32 sample_rate_adc, u32 sample_rate_dac)
@@ -391,12 +394,14 @@ static int set_sample_rate_control(struct snd_soc_codec *codec, int mclk,
                return -EINVAL;
        }
        tlv320aic23_write(codec, TLV320AIC23_SRATE, data);
-       if (1) {
-               int adc, dac;
+#ifdef DEBUG
+       {
+               u32 adc, dac;
                get_current_sample_rates(codec, mclk, &adc, &dac);
                printk(KERN_DEBUG "actual samplerate = %u,%u reg=%x\n",
                        adc, dac, data);
        }
+#endif
        return 0;
 }
 
@@ -413,7 +418,8 @@ static int tlv320aic23_add_widgets(struct snd_soc_codec *codec)
 }
 
 static int tlv320aic23_hw_params(struct snd_pcm_substream *substream,
-                                struct snd_pcm_hw_params *params)
+                                struct snd_pcm_hw_params *params,
+                                struct snd_soc_dai *dai)
 {
        struct snd_soc_pcm_runtime *rtd = substream->private_data;
        struct snd_soc_device *socdev = rtd->socdev;
@@ -460,7 +466,8 @@ static int tlv320aic23_hw_params(struct snd_pcm_substream *substream,
        return 0;
 }
 
-static int tlv320aic23_pcm_prepare(struct snd_pcm_substream *substream)
+static int tlv320aic23_pcm_prepare(struct snd_pcm_substream *substream,
+                                  struct snd_soc_dai *dai)
 {
        struct snd_soc_pcm_runtime *rtd = substream->private_data;
        struct snd_soc_device *socdev = rtd->socdev;
@@ -472,7 +479,8 @@ static int tlv320aic23_pcm_prepare(struct snd_pcm_substream *substream)
        return 0;
 }
 
-static void tlv320aic23_shutdown(struct snd_pcm_substream *substream)
+static void tlv320aic23_shutdown(struct snd_pcm_substream *substream,
+                                struct snd_soc_dai *dai)
 {
        struct snd_soc_pcm_runtime *rtd = substream->private_data;
        struct snd_soc_device *socdev = rtd->socdev;
@@ -608,12 +616,10 @@ struct snd_soc_dai tlv320aic23_dai = {
                .prepare = tlv320aic23_pcm_prepare,
                .hw_params = tlv320aic23_hw_params,
                .shutdown = tlv320aic23_shutdown,
-               },
-       .dai_ops = {
-                   .digital_mute = tlv320aic23_mute,
-                   .set_fmt = tlv320aic23_set_dai_fmt,
-                   .set_sysclk = tlv320aic23_set_dai_sysclk,
-                   }
+               .digital_mute = tlv320aic23_mute,
+               .set_fmt = tlv320aic23_set_dai_fmt,
+               .set_sysclk = tlv320aic23_set_dai_sysclk,
+       }
 };
 EXPORT_SYMBOL_GPL(tlv320aic23_dai);
 
@@ -714,7 +720,7 @@ static int tlv320aic23_init(struct snd_soc_device *socdev)
 
        tlv320aic23_add_controls(codec);
        tlv320aic23_add_widgets(codec);
-       ret = snd_soc_register_card(socdev);
+       ret = snd_soc_init_card(socdev);
        if (ret < 0) {
                printk(KERN_ERR "tlv320aic23: failed to register card\n");
                goto card_err;