static int cq93vc_probe(struct snd_soc_codec *codec) { struct davinci_vc *davinci_vc = codec->dev->platform_data; davinci_vc->cq93vc.codec = codec; codec->control_data = davinci_vc; /* Set controls */ snd_soc_add_codec_controls(codec, cq93vc_snd_controls, ARRAY_SIZE(cq93vc_snd_controls)); /* Off, with power on */ cq93vc_set_bias_level(codec, SND_SOC_BIAS_STANDBY); /* Turn on Automatic Level Control (VC_REG06) */ cq93vc_write(codec, DAVINCI_VC_REG06, 1); /* Turn on microphone Gain (VC_REG05) */ cq93vc_write(codec, DAVINCI_VC_REG05, 0x1f); /* Recording Mode Control (VC_REG04) */ cq93vc_write(codec, DAVINCI_VC_REG04, 0x0); return 0; }
static int cq93vc_probe(struct snd_soc_codec *codec) { struct davinci_vc *davinci_vc = codec->dev->platform_data; davinci_vc->cq93vc.codec = codec; /* Off, with power on */ cq93vc_set_bias_level(codec, SND_SOC_BIAS_STANDBY); return 0; }
static int cq93vc_probe(struct snd_soc_codec *codec) { struct davinci_vc *davinci_vc = codec->dev->platform_data; davinci_vc->cq93vc.codec = codec; codec->control_data = davinci_vc->regmap; snd_soc_codec_set_cache_io(codec, 32, 32, SND_SOC_REGMAP); /* Off, with power on */ cq93vc_set_bias_level(codec, SND_SOC_BIAS_STANDBY); return 0; }
static int cq93vc_probe(struct snd_soc_codec *codec) { struct davinci_vc *davinci_vc = codec->dev->platform_data; davinci_vc->cq93vc.codec = codec; codec->control_data = davinci_vc; /* Set controls */ snd_soc_add_controls(codec, cq93vc_snd_controls, ARRAY_SIZE(cq93vc_snd_controls)); /* Off, with power on */ cq93vc_set_bias_level(codec, SND_SOC_BIAS_STANDBY); return 0; }
static int cq93vc_remove(struct snd_soc_codec *codec) { cq93vc_set_bias_level(codec, SND_SOC_BIAS_OFF); return 0; }
static int cq93vc_resume(struct snd_soc_codec *codec) { cq93vc_set_bias_level(codec, SND_SOC_BIAS_STANDBY); return 0; }