ASoC: Add I/O control bus information to factored out cache setup
[deliverable/linux.git] / sound / soc / codecs / wm8971.c
index 53f3bc90ea0c66850e15c78e3cac1888aa0f8000..d66efb0546eadf3846aa81adaff2003bd8675dcf 100644 (file)
@@ -640,7 +640,8 @@ static int wm8971_resume(struct platform_device *pdev)
        return 0;
 }
 
-static int wm8971_init(struct snd_soc_device *socdev)
+static int wm8971_init(struct snd_soc_device *socdev,
+                      enum snd_soc_control_type control)
 {
        struct snd_soc_codec *codec = socdev->card->codec;
        int reg, ret = 0;
@@ -656,7 +657,7 @@ static int wm8971_init(struct snd_soc_device *socdev)
        if (codec->reg_cache == NULL)
                return -ENOMEM;
 
-       ret = snd_soc_codec_set_cache_io(codec, 7, 9);
+       ret = snd_soc_codec_set_cache_io(codec, 7, 9, control);
        if (ret < 0) {
                printk(KERN_ERR "wm8971: failed to set cache I/O: %d\n", ret);
                goto err;
@@ -734,7 +735,7 @@ static int wm8971_i2c_probe(struct i2c_client *i2c,
 
        codec->control_data = i2c;
 
-       ret = wm8971_init(socdev);
+       ret = wm8971_init(socdev, SND_SOC_I2C);
        if (ret < 0)
                pr_err("failed to initialise WM8971\n");
 
@@ -844,7 +845,6 @@ static int wm8971_probe(struct platform_device *pdev)
 
 #if defined (CONFIG_I2C) || defined (CONFIG_I2C_MODULE)
        if (setup->i2c_address) {
-               codec->hw_write = (hw_write_t)i2c_master_send;
                ret = wm8971_add_i2c_device(pdev, setup);
        }
 #endif
This page took 0.029756 seconds and 5 git commands to generate.