Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux
[deliverable/linux.git] / sound / soc / codecs / rt5651.c
index a7f456ca8547b6d965609934401545f12e937fd9..1d4031818966638c7ad994ffd18bf294cc7c79bd 100644 (file)
@@ -46,7 +46,7 @@ static const struct regmap_range_cfg rt5651_ranges[] = {
          .window_len = 0x1, },
 };
 
-static struct reg_default init_list[] = {
+static const struct reg_sequence init_list[] = {
        {RT5651_PR_BASE + 0x3d, 0x3e00},
 };
 
@@ -377,10 +377,11 @@ static int set_dmic_clk(struct snd_soc_dapm_widget *w,
 {
        struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm);
        struct rt5651_priv *rt5651 = snd_soc_codec_get_drvdata(codec);
-       int idx = -EINVAL;
-
-       idx = rl6231_calc_dmic_clk(rt5651->sysclk);
+       int idx, rate;
 
+       rate = rt5651->sysclk / rl6231_get_pre_div(rt5651->regmap,
+               RT5651_ADDA_CLK1, RT5651_I2S_PD1_SFT);
+       idx = rl6231_calc_dmic_clk(rate);
        if (idx < 0)
                dev_err(codec->dev, "Failed to set DMIC clock\n");
        else
@@ -1768,7 +1769,7 @@ static int rt5651_i2c_probe(struct i2c_client *i2c,
        regmap_read(rt5651->regmap, RT5651_DEVICE_ID, &ret);
        if (ret != RT5651_DEVICE_ID_VALUE) {
                dev_err(&i2c->dev,
-                       "Device with ID register %x is not rt5651\n", ret);
+                       "Device with ID register %#x is not rt5651\n", ret);
                return -ENODEV;
        }
 
@@ -1805,7 +1806,6 @@ static int rt5651_i2c_remove(struct i2c_client *i2c)
 static struct i2c_driver rt5651_i2c_driver = {
        .driver = {
                .name = "rt5651",
-               .owner = THIS_MODULE,
        },
        .probe = rt5651_i2c_probe,
        .remove   = rt5651_i2c_remove,
This page took 0.041551 seconds and 5 git commands to generate.