rt286             189 sound/soc/codecs/rt286.c 	struct rt286_priv *rt286 = snd_soc_component_get_drvdata(component);
rt286             193 sound/soc/codecs/rt286.c 		snd_soc_component_write(component, rt286->index_cache[i].reg,
rt286             194 sound/soc/codecs/rt286.c 				  rt286->index_cache[i].def);
rt286             212 sound/soc/codecs/rt286.c static int rt286_jack_detect(struct rt286_priv *rt286, bool *hp, bool *mic)
rt286             220 sound/soc/codecs/rt286.c 	if (!rt286->component)
rt286             223 sound/soc/codecs/rt286.c 	dapm = snd_soc_component_get_dapm(rt286->component);
rt286             225 sound/soc/codecs/rt286.c 	if (rt286->pdata.cbj_en) {
rt286             226 sound/soc/codecs/rt286.c 		regmap_read(rt286->regmap, RT286_GET_HP_SENSE, &buf);
rt286             230 sound/soc/codecs/rt286.c 			regmap_update_bits(rt286->regmap,
rt286             239 sound/soc/codecs/rt286.c 			regmap_write(rt286->regmap, RT286_SET_MIC1, 0x24);
rt286             242 sound/soc/codecs/rt286.c 			regmap_update_bits(rt286->regmap,
rt286             245 sound/soc/codecs/rt286.c 			regmap_read(rt286->regmap, RT286_CBJ_CTRL2, &val);
rt286             250 sound/soc/codecs/rt286.c 				regmap_update_bits(rt286->regmap,
rt286             253 sound/soc/codecs/rt286.c 				regmap_read(rt286->regmap,
rt286             260 sound/soc/codecs/rt286.c 			regmap_update_bits(rt286->regmap,
rt286             265 sound/soc/codecs/rt286.c 			regmap_write(rt286->regmap, RT286_SET_MIC1, 0x20);
rt286             266 sound/soc/codecs/rt286.c 			regmap_update_bits(rt286->regmap,
rt286             270 sound/soc/codecs/rt286.c 		regmap_read(rt286->regmap, RT286_GET_HP_SENSE, &buf);
rt286             272 sound/soc/codecs/rt286.c 		regmap_read(rt286->regmap, RT286_GET_MIC1_SENSE, &buf);
rt286             288 sound/soc/codecs/rt286.c 	struct rt286_priv *rt286 =
rt286             294 sound/soc/codecs/rt286.c 	rt286_jack_detect(rt286, &hp, &mic);
rt286             302 sound/soc/codecs/rt286.c 	snd_soc_jack_report(rt286->jack, status,
rt286             309 sound/soc/codecs/rt286.c 	struct rt286_priv *rt286 = snd_soc_component_get_drvdata(component);
rt286             311 sound/soc/codecs/rt286.c 	rt286->jack = jack;
rt286             315 sound/soc/codecs/rt286.c 		if (rt286->jack->status & SND_JACK_HEADPHONE)
rt286             317 sound/soc/codecs/rt286.c 		regmap_update_bits(rt286->regmap, RT286_IRQ_CTRL, 0x2, 0x2);
rt286             319 sound/soc/codecs/rt286.c 		snd_soc_jack_report(rt286->jack, rt286->jack->status,
rt286             323 sound/soc/codecs/rt286.c 		regmap_update_bits(rt286->regmap, RT286_IRQ_CTRL, 0x2, 0x0);
rt286             336 sound/soc/codecs/rt286.c 	struct rt286_priv *rt286 = snd_soc_component_get_drvdata(component);
rt286             338 sound/soc/codecs/rt286.c 	if (rt286->clk_id == RT286_SCLK_S_MCLK)
rt286             676 sound/soc/codecs/rt286.c 	struct rt286_priv *rt286 = snd_soc_component_get_drvdata(component);
rt286             692 sound/soc/codecs/rt286.c 	switch (rt286->sys_clk) {
rt286             697 sound/soc/codecs/rt286.c 					params_rate(params), rt286->sys_clk);
rt286             705 sound/soc/codecs/rt286.c 					params_rate(params), rt286->sys_clk);
rt286             804 sound/soc/codecs/rt286.c 	struct rt286_priv *rt286 = snd_soc_component_get_drvdata(component);
rt286             858 sound/soc/codecs/rt286.c 	rt286->sys_clk = freq;
rt286             859 sound/soc/codecs/rt286.c 	rt286->clk_id = clk_id;
rt286             914 sound/soc/codecs/rt286.c 	struct rt286_priv *rt286 = data;
rt286             919 sound/soc/codecs/rt286.c 	rt286_jack_detect(rt286, &hp, &mic);
rt286             922 sound/soc/codecs/rt286.c 	regmap_update_bits(rt286->regmap, RT286_IRQ_CTRL, 0x1, 0x1);
rt286             930 sound/soc/codecs/rt286.c 	snd_soc_jack_report(rt286->jack, status,
rt286             933 sound/soc/codecs/rt286.c 	pm_wakeup_event(&rt286->i2c->dev, 300);
rt286             940 sound/soc/codecs/rt286.c 	struct rt286_priv *rt286 = snd_soc_component_get_drvdata(component);
rt286             942 sound/soc/codecs/rt286.c 	rt286->component = component;
rt286             944 sound/soc/codecs/rt286.c 	if (rt286->i2c->irq) {
rt286             945 sound/soc/codecs/rt286.c 		regmap_update_bits(rt286->regmap,
rt286             948 sound/soc/codecs/rt286.c 		INIT_DELAYED_WORK(&rt286->jack_detect_work,
rt286             950 sound/soc/codecs/rt286.c 		schedule_delayed_work(&rt286->jack_detect_work,
rt286             959 sound/soc/codecs/rt286.c 	struct rt286_priv *rt286 = snd_soc_component_get_drvdata(component);
rt286             961 sound/soc/codecs/rt286.c 	cancel_delayed_work_sync(&rt286->jack_detect_work);
rt286             967 sound/soc/codecs/rt286.c 	struct rt286_priv *rt286 = snd_soc_component_get_drvdata(component);
rt286             969 sound/soc/codecs/rt286.c 	regcache_cache_only(rt286->regmap, true);
rt286             970 sound/soc/codecs/rt286.c 	regcache_mark_dirty(rt286->regmap);
rt286             977 sound/soc/codecs/rt286.c 	struct rt286_priv *rt286 = snd_soc_component_get_drvdata(component);
rt286             979 sound/soc/codecs/rt286.c 	regcache_cache_only(rt286->regmap, false);
rt286             981 sound/soc/codecs/rt286.c 	regcache_sync(rt286->regmap);
rt286            1133 sound/soc/codecs/rt286.c 	struct rt286_priv *rt286;
rt286            1136 sound/soc/codecs/rt286.c 	rt286 = devm_kzalloc(&i2c->dev,	sizeof(*rt286),
rt286            1138 sound/soc/codecs/rt286.c 	if (NULL == rt286)
rt286            1141 sound/soc/codecs/rt286.c 	rt286->regmap = devm_regmap_init(&i2c->dev, NULL, i2c, &rt286_regmap);
rt286            1142 sound/soc/codecs/rt286.c 	if (IS_ERR(rt286->regmap)) {
rt286            1143 sound/soc/codecs/rt286.c 		ret = PTR_ERR(rt286->regmap);
rt286            1149 sound/soc/codecs/rt286.c 	ret = regmap_read(rt286->regmap,
rt286            1161 sound/soc/codecs/rt286.c 	rt286->index_cache = devm_kmemdup(&i2c->dev, rt286_index_def,
rt286            1163 sound/soc/codecs/rt286.c 	if (!rt286->index_cache)
rt286            1166 sound/soc/codecs/rt286.c 	rt286->index_cache_size = INDEX_CACHE_SIZE;
rt286            1167 sound/soc/codecs/rt286.c 	rt286->i2c = i2c;
rt286            1168 sound/soc/codecs/rt286.c 	i2c_set_clientdata(i2c, rt286);
rt286            1172 sound/soc/codecs/rt286.c 		regmap_write(rt286->regmap, rt286->index_cache[i].reg,
rt286            1173 sound/soc/codecs/rt286.c 				rt286->index_cache[i].def);
rt286            1175 sound/soc/codecs/rt286.c 		regmap_write(rt286->regmap, rt286_reg[i].reg,
rt286            1179 sound/soc/codecs/rt286.c 		rt286->pdata = *pdata;
rt286            1183 sound/soc/codecs/rt286.c 		rt286->pdata.cbj_en = true;
rt286            1185 sound/soc/codecs/rt286.c 	regmap_write(rt286->regmap, RT286_SET_AUDIO_POWER, AC_PWRST_D3);
rt286            1188 sound/soc/codecs/rt286.c 		regmap_write(rt286->regmap,
rt286            1192 sound/soc/codecs/rt286.c 	if (!rt286->pdata.cbj_en) {
rt286            1193 sound/soc/codecs/rt286.c 		regmap_write(rt286->regmap, RT286_CBJ_CTRL2, 0x0000);
rt286            1194 sound/soc/codecs/rt286.c 		regmap_write(rt286->regmap, RT286_MIC1_DET_CTRL, 0x0816);
rt286            1195 sound/soc/codecs/rt286.c 		regmap_update_bits(rt286->regmap,
rt286            1198 sound/soc/codecs/rt286.c 		regmap_update_bits(rt286->regmap,
rt286            1204 sound/soc/codecs/rt286.c 	if (!rt286->pdata.gpio2_en)
rt286            1205 sound/soc/codecs/rt286.c 		regmap_write(rt286->regmap, RT286_SET_DMIC2_DEFAULT, 0x4000);
rt286            1207 sound/soc/codecs/rt286.c 		regmap_write(rt286->regmap, RT286_SET_DMIC2_DEFAULT, 0);
rt286            1211 sound/soc/codecs/rt286.c 	regmap_write(rt286->regmap, RT286_MISC_CTRL1, 0x0000);
rt286            1213 sound/soc/codecs/rt286.c 	regmap_update_bits(rt286->regmap, RT286_POWER_CTRL2, 0xc, 0x0);
rt286            1214 sound/soc/codecs/rt286.c 	regmap_update_bits(rt286->regmap, RT286_POWER_CTRL1, 0x1001, 0x1001);
rt286            1217 sound/soc/codecs/rt286.c 	regmap_update_bits(rt286->regmap, RT286_DEPOP_CTRL2, 0x403a, 0x401a);
rt286            1218 sound/soc/codecs/rt286.c 	regmap_update_bits(rt286->regmap, RT286_DEPOP_CTRL3, 0xf777, 0x4737);
rt286            1219 sound/soc/codecs/rt286.c 	regmap_update_bits(rt286->regmap, RT286_DEPOP_CTRL4, 0x00ff, 0x003f);
rt286            1222 sound/soc/codecs/rt286.c 		regmap_update_bits(rt286->regmap,
rt286            1224 sound/soc/codecs/rt286.c 		regmap_update_bits(rt286->regmap,
rt286            1226 sound/soc/codecs/rt286.c 		regmap_update_bits(rt286->regmap,
rt286            1228 sound/soc/codecs/rt286.c 		regmap_update_bits(rt286->regmap,
rt286            1232 sound/soc/codecs/rt286.c 	if (rt286->i2c->irq) {
rt286            1233 sound/soc/codecs/rt286.c 		ret = request_threaded_irq(rt286->i2c->irq, NULL, rt286_irq,
rt286            1234 sound/soc/codecs/rt286.c 			IRQF_TRIGGER_HIGH | IRQF_ONESHOT, "rt286", rt286);
rt286            1251 sound/soc/codecs/rt286.c 	struct rt286_priv *rt286 = i2c_get_clientdata(i2c);
rt286            1254 sound/soc/codecs/rt286.c 		free_irq(i2c->irq, rt286);