struct wm8974_priv {
enum snd_soc_control_type control_type;
- void *control_data;
u16 reg_cache[WM8974_CACHEREGNUM];
};
struct wm8974_priv *wm8974 = snd_soc_codec_get_drvdata(codec);
int ret = 0;
- codec->control_data = wm8974->control_data;
ret = snd_soc_codec_set_cache_io(codec, 7, 9, SND_SOC_I2C);
if (ret < 0) {
dev_err(codec->dev, "Failed to set cache I/O: %d\n", ret);
return -ENOMEM;
i2c_set_clientdata(i2c, wm8974);
- wm8974->control_data = i2c;
ret = snd_soc_register_codec(&i2c->dev,
&soc_codec_dev_wm8974, &wm8974_dai, 1);