rt5645            676 sound/soc/codecs/rt5645.c 	struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
rt5645            682 sound/soc/codecs/rt5645.c 		eq_param[i].reg = cpu_to_be16(rt5645->eq_param[i].reg);
rt5645            683 sound/soc/codecs/rt5645.c 		eq_param[i].val = cpu_to_be16(rt5645->eq_param[i].val);
rt5645            702 sound/soc/codecs/rt5645.c 	struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
rt5645            708 sound/soc/codecs/rt5645.c 		rt5645->eq_param[i].reg = be16_to_cpu(eq_param[i].reg);
rt5645            709 sound/soc/codecs/rt5645.c 		rt5645->eq_param[i].val = be16_to_cpu(eq_param[i].val);
rt5645            714 sound/soc/codecs/rt5645.c 		if (rt5645->eq_param[i].reg == 0)
rt5645            716 sound/soc/codecs/rt5645.c 		else if (rt5645->eq_param[i].reg != RT5645_EQ_CTRL2)
rt5645            723 sound/soc/codecs/rt5645.c 		if (!rt5645_validate_hweq(rt5645->eq_param[i].reg) &&
rt5645            724 sound/soc/codecs/rt5645.c 		    rt5645->eq_param[i].reg != 0)
rt5645            726 sound/soc/codecs/rt5645.c 		else if (rt5645->eq_param[i].reg == 0)
rt5645            744 sound/soc/codecs/rt5645.c 	struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
rt5645            747 sound/soc/codecs/rt5645.c 	regmap_update_bits(rt5645->regmap, RT5645_MICBIAS,
rt5645            752 sound/soc/codecs/rt5645.c 	mod_delayed_work(system_power_efficient_wq, &rt5645->rcclock_work,
rt5645            849 sound/soc/codecs/rt5645.c 	struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
rt5645            852 sound/soc/codecs/rt5645.c 	rate = rt5645->sysclk / rl6231_get_pre_div(rt5645->regmap,
rt5645            927 sound/soc/codecs/rt5645.c 	struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
rt5645            931 sound/soc/codecs/rt5645.c 		if (rt5645_validate_hweq(rt5645->eq_param[i].reg))
rt5645            932 sound/soc/codecs/rt5645.c 			regmap_write(rt5645->regmap, rt5645->eq_param[i].reg,
rt5645            933 sound/soc/codecs/rt5645.c 					rt5645->eq_param[i].val);
rt5645           1647 sound/soc/codecs/rt5645.c 	struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
rt5645           1651 sound/soc/codecs/rt5645.c 			if (rt5645->codec_type == CODEC_TYPE_RT5650) {
rt5645           1656 sound/soc/codecs/rt5645.c 				regmap_write(rt5645->regmap, RT5645_PR_BASE +
rt5645           1661 sound/soc/codecs/rt5645.c 				regmap_write(rt5645->regmap, RT5645_PR_BASE +
rt5645           1664 sound/soc/codecs/rt5645.c 				regmap_write(rt5645->regmap, RT5645_PR_BASE +
rt5645           1668 sound/soc/codecs/rt5645.c 				rt5645->hp_on = true;
rt5645           1674 sound/soc/codecs/rt5645.c 				regmap_write(rt5645->regmap, RT5645_PR_BASE +
rt5645           1696 sound/soc/codecs/rt5645.c 				regmap_write(rt5645->regmap, RT5645_PR_BASE +
rt5645           1698 sound/soc/codecs/rt5645.c 				regmap_write(rt5645->regmap, RT5645_PR_BASE +
rt5645           1706 sound/soc/codecs/rt5645.c 			if (rt5645->codec_type == CODEC_TYPE_RT5650) {
rt5645           1707 sound/soc/codecs/rt5645.c 				regmap_write(rt5645->regmap, RT5645_PR_BASE +
rt5645           1710 sound/soc/codecs/rt5645.c 				regmap_write(rt5645->regmap, RT5645_PR_BASE +
rt5645           1740 sound/soc/codecs/rt5645.c 	struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
rt5645           1746 sound/soc/codecs/rt5645.c 		if (rt5645->codec_type == CODEC_TYPE_RT5645) {
rt5645           1753 sound/soc/codecs/rt5645.c 			regmap_write(rt5645->regmap, RT5645_PR_BASE +
rt5645           1773 sound/soc/codecs/rt5645.c 		if (rt5645->codec_type == CODEC_TYPE_RT5645) {
rt5645           1780 sound/soc/codecs/rt5645.c 			regmap_write(rt5645->regmap, RT5645_PR_BASE +
rt5645           1892 sound/soc/codecs/rt5645.c 	struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
rt5645           1896 sound/soc/codecs/rt5645.c 		if (rt5645->hp_on) {
rt5645           1898 sound/soc/codecs/rt5645.c 			rt5645->hp_on = false;
rt5645           2735 sound/soc/codecs/rt5645.c 	struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
rt5645           2739 sound/soc/codecs/rt5645.c 	rt5645->lrck[dai->id] = params_rate(params);
rt5645           2740 sound/soc/codecs/rt5645.c 	pre_div = rl6231_get_clk_info(rt5645->sysclk, rt5645->lrck[dai->id]);
rt5645           2751 sound/soc/codecs/rt5645.c 	switch (rt5645->codec_type) {
rt5645           2761 sound/soc/codecs/rt5645.c 	rt5645->bclk[dai->id] = rt5645->lrck[dai->id] * (32 << bclk_ms);
rt5645           2764 sound/soc/codecs/rt5645.c 		rt5645->bclk[dai->id], rt5645->lrck[dai->id]);
rt5645           2811 sound/soc/codecs/rt5645.c 	struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
rt5645           2814 sound/soc/codecs/rt5645.c 	switch (rt5645->codec_type) {
rt5645           2825 sound/soc/codecs/rt5645.c 		rt5645->master[dai->id] = 1;
rt5645           2829 sound/soc/codecs/rt5645.c 		rt5645->master[dai->id] = 0;
rt5645           2882 sound/soc/codecs/rt5645.c 	struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
rt5645           2885 sound/soc/codecs/rt5645.c 	if (freq == rt5645->sysclk && clk_id == rt5645->sysclk_src)
rt5645           2904 sound/soc/codecs/rt5645.c 	rt5645->sysclk = freq;
rt5645           2905 sound/soc/codecs/rt5645.c 	rt5645->sysclk_src = clk_id;
rt5645           2916 sound/soc/codecs/rt5645.c 	struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
rt5645           2920 sound/soc/codecs/rt5645.c 	if (source == rt5645->pll_src && freq_in == rt5645->pll_in &&
rt5645           2921 sound/soc/codecs/rt5645.c 	    freq_out == rt5645->pll_out)
rt5645           2927 sound/soc/codecs/rt5645.c 		rt5645->pll_in = 0;
rt5645           2928 sound/soc/codecs/rt5645.c 		rt5645->pll_out = 0;
rt5645           2976 sound/soc/codecs/rt5645.c 	rt5645->pll_in = freq_in;
rt5645           2977 sound/soc/codecs/rt5645.c 	rt5645->pll_out = freq_out;
rt5645           2978 sound/soc/codecs/rt5645.c 	rt5645->pll_src = source;
rt5645           2987 sound/soc/codecs/rt5645.c 	struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
rt5645           2991 sound/soc/codecs/rt5645.c 	switch (rt5645->codec_type) {
rt5645           3009 sound/soc/codecs/rt5645.c 		if (rt5645->codec_type == CODEC_TYPE_RT5645)
rt5645           3052 sound/soc/codecs/rt5645.c 	struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
rt5645           3084 sound/soc/codecs/rt5645.c 			if (rt5645->en_button_func)
rt5645           3086 sound/soc/codecs/rt5645.c 					&rt5645->jack_detect_work,
rt5645           3093 sound/soc/codecs/rt5645.c 		if (!rt5645->en_button_func)
rt5645           3140 sound/soc/codecs/rt5645.c 	struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
rt5645           3144 sound/soc/codecs/rt5645.c 		regmap_write(rt5645->regmap, RT5645_CHARGE_PUMP, 0x0e06);
rt5645           3153 sound/soc/codecs/rt5645.c 			regmap_update_bits(rt5645->regmap, RT5645_PWR_ANLG1,
rt5645           3156 sound/soc/codecs/rt5645.c 			regmap_update_bits(rt5645->regmap, RT5645_PWR_MIXER,
rt5645           3158 sound/soc/codecs/rt5645.c 			regmap_update_bits(rt5645->regmap, RT5645_PWR_VOL,
rt5645           3162 sound/soc/codecs/rt5645.c 		regmap_write(rt5645->regmap, RT5645_JD_CTRL3, 0x00f0);
rt5645           3163 sound/soc/codecs/rt5645.c 		regmap_update_bits(rt5645->regmap, RT5645_IN1_CTRL2,
rt5645           3165 sound/soc/codecs/rt5645.c 		regmap_update_bits(rt5645->regmap, RT5645_IN1_CTRL1,
rt5645           3168 sound/soc/codecs/rt5645.c 		regmap_update_bits(rt5645->regmap, RT5645_IN1_CTRL2,
rt5645           3172 sound/soc/codecs/rt5645.c 		regmap_read(rt5645->regmap, RT5645_IN1_CTRL3, &val);
rt5645           3177 sound/soc/codecs/rt5645.c 			rt5645->jack_type = SND_JACK_HEADSET;
rt5645           3178 sound/soc/codecs/rt5645.c 			if (rt5645->en_button_func) {
rt5645           3184 sound/soc/codecs/rt5645.c 			rt5645->jack_type = SND_JACK_HEADPHONE;
rt5645           3186 sound/soc/codecs/rt5645.c 		if (rt5645->pdata.level_trigger_irq)
rt5645           3187 sound/soc/codecs/rt5645.c 			regmap_update_bits(rt5645->regmap, RT5645_IRQ_CTRL2,
rt5645           3190 sound/soc/codecs/rt5645.c 		rt5645->jack_type = 0;
rt5645           3192 sound/soc/codecs/rt5645.c 		regmap_update_bits(rt5645->regmap, RT5645_HP_VOL,
rt5645           3195 sound/soc/codecs/rt5645.c 		regmap_update_bits(rt5645->regmap, RT5645_IN1_CTRL2,
rt5645           3197 sound/soc/codecs/rt5645.c 		regmap_update_bits(rt5645->regmap, RT5645_IN1_CTRL1,
rt5645           3200 sound/soc/codecs/rt5645.c 		if (rt5645->en_button_func)
rt5645           3203 sound/soc/codecs/rt5645.c 		if (rt5645->pdata.jd_mode == 0)
rt5645           3207 sound/soc/codecs/rt5645.c 		if (rt5645->pdata.level_trigger_irq)
rt5645           3208 sound/soc/codecs/rt5645.c 			regmap_update_bits(rt5645->regmap, RT5645_IRQ_CTRL2,
rt5645           3212 sound/soc/codecs/rt5645.c 	return rt5645->jack_type;
rt5645           3233 sound/soc/codecs/rt5645.c 	struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
rt5645           3235 sound/soc/codecs/rt5645.c 	rt5645->hp_jack = hp_jack;
rt5645           3236 sound/soc/codecs/rt5645.c 	rt5645->mic_jack = mic_jack;
rt5645           3237 sound/soc/codecs/rt5645.c 	rt5645->btn_jack = btn_jack;
rt5645           3238 sound/soc/codecs/rt5645.c 	if (rt5645->btn_jack && rt5645->codec_type == CODEC_TYPE_RT5650) {
rt5645           3239 sound/soc/codecs/rt5645.c 		rt5645->en_button_func = true;
rt5645           3240 sound/soc/codecs/rt5645.c 		regmap_update_bits(rt5645->regmap, RT5645_GPIO_CTRL1,
rt5645           3242 sound/soc/codecs/rt5645.c 		regmap_update_bits(rt5645->regmap, RT5645_GEN_CTRL1,
rt5645           3245 sound/soc/codecs/rt5645.c 	rt5645_irq(0, rt5645);
rt5645           3253 sound/soc/codecs/rt5645.c 	struct rt5645_priv *rt5645 =
rt5645           3257 sound/soc/codecs/rt5645.c 	if (!rt5645->component)
rt5645           3260 sound/soc/codecs/rt5645.c 	switch (rt5645->pdata.jd_mode) {
rt5645           3262 sound/soc/codecs/rt5645.c 		if (rt5645->gpiod_hp_det) {
rt5645           3263 sound/soc/codecs/rt5645.c 			gpio_state = gpiod_get_value(rt5645->gpiod_hp_det);
rt5645           3264 sound/soc/codecs/rt5645.c 			dev_dbg(rt5645->component->dev, "gpio_state = %d\n",
rt5645           3266 sound/soc/codecs/rt5645.c 			report = rt5645_jack_detect(rt5645->component, gpio_state);
rt5645           3268 sound/soc/codecs/rt5645.c 		snd_soc_jack_report(rt5645->hp_jack,
rt5645           3270 sound/soc/codecs/rt5645.c 		snd_soc_jack_report(rt5645->mic_jack,
rt5645           3274 sound/soc/codecs/rt5645.c 		val = snd_soc_component_read32(rt5645->component, RT5645_A_JD_CTRL1) & 0x0020;
rt5645           3277 sound/soc/codecs/rt5645.c 		val = snd_soc_component_read32(rt5645->component, RT5645_INT_IRQ_ST) & 0x1000;
rt5645           3282 sound/soc/codecs/rt5645.c 	if (!val && (rt5645->jack_type == 0)) { /* jack in */
rt5645           3283 sound/soc/codecs/rt5645.c 		report = rt5645_jack_detect(rt5645->component, 1);
rt5645           3284 sound/soc/codecs/rt5645.c 	} else if (!val && rt5645->jack_type != 0) {
rt5645           3287 sound/soc/codecs/rt5645.c 		if (snd_soc_component_read32(rt5645->component, RT5645_INT_IRQ_ST) & 0x4) {
rt5645           3290 sound/soc/codecs/rt5645.c 			btn_type = rt5645_button_detect(rt5645->component);
rt5645           3320 sound/soc/codecs/rt5645.c 				dev_err(rt5645->component->dev,
rt5645           3327 sound/soc/codecs/rt5645.c 			report =  rt5645->jack_type;
rt5645           3329 sound/soc/codecs/rt5645.c 			mod_timer(&rt5645->btn_check_timer,
rt5645           3335 sound/soc/codecs/rt5645.c 		snd_soc_component_update_bits(rt5645->component,
rt5645           3337 sound/soc/codecs/rt5645.c 		rt5645_jack_detect(rt5645->component, 0);
rt5645           3340 sound/soc/codecs/rt5645.c 	snd_soc_jack_report(rt5645->hp_jack, report, SND_JACK_HEADPHONE);
rt5645           3341 sound/soc/codecs/rt5645.c 	snd_soc_jack_report(rt5645->mic_jack, report, SND_JACK_MICROPHONE);
rt5645           3342 sound/soc/codecs/rt5645.c 	if (rt5645->en_button_func)
rt5645           3343 sound/soc/codecs/rt5645.c 		snd_soc_jack_report(rt5645->btn_jack,
rt5645           3350 sound/soc/codecs/rt5645.c 	struct rt5645_priv *rt5645 =
rt5645           3353 sound/soc/codecs/rt5645.c 	regmap_update_bits(rt5645->regmap, RT5645_MICBIAS,
rt5645           3359 sound/soc/codecs/rt5645.c 	struct rt5645_priv *rt5645 = data;
rt5645           3362 sound/soc/codecs/rt5645.c 			   &rt5645->jack_detect_work, msecs_to_jiffies(250));
rt5645           3369 sound/soc/codecs/rt5645.c 	struct rt5645_priv *rt5645 = from_timer(rt5645, t, btn_check_timer);
rt5645           3372 sound/soc/codecs/rt5645.c 		   &rt5645->jack_detect_work, msecs_to_jiffies(5));
rt5645           3378 sound/soc/codecs/rt5645.c 	struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
rt5645           3380 sound/soc/codecs/rt5645.c 	rt5645->component = component;
rt5645           3382 sound/soc/codecs/rt5645.c 	switch (rt5645->codec_type) {
rt5645           3390 sound/soc/codecs/rt5645.c 		if (rt5645->v_id < 3) {
rt5645           3409 sound/soc/codecs/rt5645.c 	if (rt5645->pdata.jd_mode) {
rt5645           3415 sound/soc/codecs/rt5645.c 	if (rt5645->pdata.long_name)
rt5645           3416 sound/soc/codecs/rt5645.c 		component->card->long_name = rt5645->pdata.long_name;
rt5645           3418 sound/soc/codecs/rt5645.c 	rt5645->eq_param = devm_kcalloc(component->dev,
rt5645           3422 sound/soc/codecs/rt5645.c 	if (!rt5645->eq_param)
rt5645           3436 sound/soc/codecs/rt5645.c 	struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
rt5645           3438 sound/soc/codecs/rt5645.c 	regcache_cache_only(rt5645->regmap, true);
rt5645           3439 sound/soc/codecs/rt5645.c 	regcache_mark_dirty(rt5645->regmap);
rt5645           3446 sound/soc/codecs/rt5645.c 	struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
rt5645           3448 sound/soc/codecs/rt5645.c 	regcache_cache_only(rt5645->regmap, false);
rt5645           3449 sound/soc/codecs/rt5645.c 	regcache_sync(rt5645->regmap);
rt5645           3762 sound/soc/codecs/rt5645.c static int rt5645_parse_dt(struct rt5645_priv *rt5645, struct device *dev)
rt5645           3764 sound/soc/codecs/rt5645.c 	rt5645->pdata.in2_diff = device_property_read_bool(dev,
rt5645           3767 sound/soc/codecs/rt5645.c 		"realtek,dmic1-data-pin", &rt5645->pdata.dmic1_data_pin);
rt5645           3769 sound/soc/codecs/rt5645.c 		"realtek,dmic2-data-pin", &rt5645->pdata.dmic2_data_pin);
rt5645           3771 sound/soc/codecs/rt5645.c 		"realtek,jd-mode", &rt5645->pdata.jd_mode);
rt5645           3781 sound/soc/codecs/rt5645.c 	struct rt5645_priv *rt5645;
rt5645           3786 sound/soc/codecs/rt5645.c 	rt5645 = devm_kzalloc(&i2c->dev, sizeof(struct rt5645_priv),
rt5645           3788 sound/soc/codecs/rt5645.c 	if (rt5645 == NULL)
rt5645           3791 sound/soc/codecs/rt5645.c 	rt5645->i2c = i2c;
rt5645           3792 sound/soc/codecs/rt5645.c 	i2c_set_clientdata(i2c, rt5645);
rt5645           3801 sound/soc/codecs/rt5645.c 		rt5645->pdata = *pdata;
rt5645           3803 sound/soc/codecs/rt5645.c 		rt5645_parse_dt(rt5645, &i2c->dev);
rt5645           3805 sound/soc/codecs/rt5645.c 		rt5645->pdata = jd_mode3_platform_data;
rt5645           3808 sound/soc/codecs/rt5645.c 		rt5645->pdata.in2_diff = QUIRK_IN2_DIFF(quirk);
rt5645           3809 sound/soc/codecs/rt5645.c 		rt5645->pdata.level_trigger_irq = QUIRK_LEVEL_IRQ(quirk);
rt5645           3810 sound/soc/codecs/rt5645.c 		rt5645->pdata.inv_jd1_1 = QUIRK_INV_JD1_1(quirk);
rt5645           3811 sound/soc/codecs/rt5645.c 		rt5645->pdata.jd_mode = QUIRK_JD_MODE(quirk);
rt5645           3812 sound/soc/codecs/rt5645.c 		rt5645->pdata.dmic1_data_pin = QUIRK_DMIC1_DATA_PIN(quirk);
rt5645           3813 sound/soc/codecs/rt5645.c 		rt5645->pdata.dmic2_data_pin = QUIRK_DMIC2_DATA_PIN(quirk);
rt5645           3816 sound/soc/codecs/rt5645.c 	rt5645->gpiod_hp_det = devm_gpiod_get_optional(&i2c->dev, "hp-detect",
rt5645           3819 sound/soc/codecs/rt5645.c 	if (IS_ERR(rt5645->gpiod_hp_det)) {
rt5645           3821 sound/soc/codecs/rt5645.c 		ret = PTR_ERR(rt5645->gpiod_hp_det);
rt5645           3830 sound/soc/codecs/rt5645.c 	for (i = 0; i < ARRAY_SIZE(rt5645->supplies); i++)
rt5645           3831 sound/soc/codecs/rt5645.c 		rt5645->supplies[i].supply = rt5645_supply_names[i];
rt5645           3834 sound/soc/codecs/rt5645.c 				      ARRAY_SIZE(rt5645->supplies),
rt5645           3835 sound/soc/codecs/rt5645.c 				      rt5645->supplies);
rt5645           3841 sound/soc/codecs/rt5645.c 	ret = regulator_bulk_enable(ARRAY_SIZE(rt5645->supplies),
rt5645           3842 sound/soc/codecs/rt5645.c 				    rt5645->supplies);
rt5645           3865 sound/soc/codecs/rt5645.c 		rt5645->regmap = devm_regmap_init_i2c(i2c, &rt5645_regmap);
rt5645           3866 sound/soc/codecs/rt5645.c 		rt5645->codec_type = CODEC_TYPE_RT5645;
rt5645           3869 sound/soc/codecs/rt5645.c 		rt5645->regmap = devm_regmap_init_i2c(i2c, &rt5650_regmap);
rt5645           3870 sound/soc/codecs/rt5645.c 		rt5645->codec_type = CODEC_TYPE_RT5650;
rt5645           3880 sound/soc/codecs/rt5645.c 	if (IS_ERR(rt5645->regmap)) {
rt5645           3881 sound/soc/codecs/rt5645.c 		ret = PTR_ERR(rt5645->regmap);
rt5645           3887 sound/soc/codecs/rt5645.c 	regmap_write(rt5645->regmap, RT5645_RESET, 0);
rt5645           3890 sound/soc/codecs/rt5645.c 	rt5645->v_id = val & 0xff;
rt5645           3892 sound/soc/codecs/rt5645.c 	regmap_write(rt5645->regmap, RT5645_AD_DA_MIXER, 0x8080);
rt5645           3894 sound/soc/codecs/rt5645.c 	ret = regmap_register_patch(rt5645->regmap, init_list,
rt5645           3899 sound/soc/codecs/rt5645.c 	if (rt5645->codec_type == CODEC_TYPE_RT5650) {
rt5645           3900 sound/soc/codecs/rt5645.c 		ret = regmap_register_patch(rt5645->regmap, rt5650_init_list,
rt5645           3907 sound/soc/codecs/rt5645.c 	regmap_update_bits(rt5645->regmap, RT5645_CLSD_OUT_CTRL, 0xc0, 0xc0);
rt5645           3909 sound/soc/codecs/rt5645.c 	if (rt5645->pdata.in2_diff)
rt5645           3910 sound/soc/codecs/rt5645.c 		regmap_update_bits(rt5645->regmap, RT5645_IN2_CTRL,
rt5645           3913 sound/soc/codecs/rt5645.c 	if (rt5645->pdata.dmic1_data_pin || rt5645->pdata.dmic2_data_pin) {
rt5645           3914 sound/soc/codecs/rt5645.c 		regmap_update_bits(rt5645->regmap, RT5645_GPIO_CTRL1,
rt5645           3917 sound/soc/codecs/rt5645.c 	switch (rt5645->pdata.dmic1_data_pin) {
rt5645           3919 sound/soc/codecs/rt5645.c 		regmap_update_bits(rt5645->regmap, RT5645_DMIC_CTRL1,
rt5645           3924 sound/soc/codecs/rt5645.c 		regmap_update_bits(rt5645->regmap, RT5645_GPIO_CTRL1,
rt5645           3926 sound/soc/codecs/rt5645.c 		regmap_update_bits(rt5645->regmap, RT5645_DMIC_CTRL1,
rt5645           3928 sound/soc/codecs/rt5645.c 		regmap_update_bits(rt5645->regmap, RT5645_GPIO_CTRL1,
rt5645           3933 sound/soc/codecs/rt5645.c 		regmap_update_bits(rt5645->regmap, RT5645_DMIC_CTRL1,
rt5645           3935 sound/soc/codecs/rt5645.c 		regmap_update_bits(rt5645->regmap, RT5645_GPIO_CTRL1,
rt5645           3944 sound/soc/codecs/rt5645.c 	switch (rt5645->pdata.dmic2_data_pin) {
rt5645           3946 sound/soc/codecs/rt5645.c 		regmap_update_bits(rt5645->regmap, RT5645_DMIC_CTRL1,
rt5645           3951 sound/soc/codecs/rt5645.c 		regmap_update_bits(rt5645->regmap, RT5645_DMIC_CTRL1,
rt5645           3953 sound/soc/codecs/rt5645.c 		regmap_update_bits(rt5645->regmap, RT5645_GPIO_CTRL1,
rt5645           3958 sound/soc/codecs/rt5645.c 		regmap_update_bits(rt5645->regmap, RT5645_DMIC_CTRL1,
rt5645           3960 sound/soc/codecs/rt5645.c 		regmap_update_bits(rt5645->regmap, RT5645_GPIO_CTRL1,
rt5645           3966 sound/soc/codecs/rt5645.c 		regmap_update_bits(rt5645->regmap, RT5645_DMIC_CTRL1,
rt5645           3968 sound/soc/codecs/rt5645.c 		regmap_update_bits(rt5645->regmap, RT5645_GPIO_CTRL1,
rt5645           3977 sound/soc/codecs/rt5645.c 	if (rt5645->pdata.jd_mode) {
rt5645           3978 sound/soc/codecs/rt5645.c 		regmap_update_bits(rt5645->regmap, RT5645_GEN_CTRL3,
rt5645           3981 sound/soc/codecs/rt5645.c 		regmap_update_bits(rt5645->regmap, RT5645_MICBIAS,
rt5645           3983 sound/soc/codecs/rt5645.c 		regmap_update_bits(rt5645->regmap, RT5645_IRQ_CTRL2,
rt5645           3985 sound/soc/codecs/rt5645.c 		regmap_update_bits(rt5645->regmap, RT5645_GEN_CTRL3,
rt5645           3987 sound/soc/codecs/rt5645.c 		regmap_update_bits(rt5645->regmap, RT5645_HPO_MIXER,
rt5645           3989 sound/soc/codecs/rt5645.c 		regmap_update_bits(rt5645->regmap, RT5645_MICBIAS,
rt5645           3991 sound/soc/codecs/rt5645.c 		regmap_update_bits(rt5645->regmap, RT5645_GPIO_CTRL1,
rt5645           3993 sound/soc/codecs/rt5645.c 		switch (rt5645->pdata.jd_mode) {
rt5645           3995 sound/soc/codecs/rt5645.c 			regmap_update_bits(rt5645->regmap, RT5645_A_JD_CTRL1,
rt5645           4000 sound/soc/codecs/rt5645.c 			regmap_update_bits(rt5645->regmap, RT5645_A_JD_CTRL1,
rt5645           4006 sound/soc/codecs/rt5645.c 			regmap_update_bits(rt5645->regmap, RT5645_A_JD_CTRL1,
rt5645           4013 sound/soc/codecs/rt5645.c 		if (rt5645->pdata.inv_jd1_1) {
rt5645           4014 sound/soc/codecs/rt5645.c 			regmap_update_bits(rt5645->regmap, RT5645_IRQ_CTRL2,
rt5645           4019 sound/soc/codecs/rt5645.c 	regmap_update_bits(rt5645->regmap, RT5645_ADDA_CLK1,
rt5645           4022 sound/soc/codecs/rt5645.c 	if (rt5645->pdata.level_trigger_irq) {
rt5645           4023 sound/soc/codecs/rt5645.c 		regmap_update_bits(rt5645->regmap, RT5645_IRQ_CTRL2,
rt5645           4026 sound/soc/codecs/rt5645.c 	timer_setup(&rt5645->btn_check_timer, rt5645_btn_check_callback, 0);
rt5645           4028 sound/soc/codecs/rt5645.c 	INIT_DELAYED_WORK(&rt5645->jack_detect_work, rt5645_jack_detect_work);
rt5645           4029 sound/soc/codecs/rt5645.c 	INIT_DELAYED_WORK(&rt5645->rcclock_work, rt5645_rcclock_work);
rt5645           4031 sound/soc/codecs/rt5645.c 	if (rt5645->i2c->irq) {
rt5645           4032 sound/soc/codecs/rt5645.c 		ret = request_threaded_irq(rt5645->i2c->irq, NULL, rt5645_irq,
rt5645           4034 sound/soc/codecs/rt5645.c 			| IRQF_ONESHOT, "rt5645", rt5645);
rt5645           4049 sound/soc/codecs/rt5645.c 	if (rt5645->i2c->irq)
rt5645           4050 sound/soc/codecs/rt5645.c 		free_irq(rt5645->i2c->irq, rt5645);
rt5645           4052 sound/soc/codecs/rt5645.c 	regulator_bulk_disable(ARRAY_SIZE(rt5645->supplies), rt5645->supplies);
rt5645           4058 sound/soc/codecs/rt5645.c 	struct rt5645_priv *rt5645 = i2c_get_clientdata(i2c);
rt5645           4061 sound/soc/codecs/rt5645.c 		free_irq(i2c->irq, rt5645);
rt5645           4063 sound/soc/codecs/rt5645.c 	cancel_delayed_work_sync(&rt5645->jack_detect_work);
rt5645           4064 sound/soc/codecs/rt5645.c 	cancel_delayed_work_sync(&rt5645->rcclock_work);
rt5645           4065 sound/soc/codecs/rt5645.c 	del_timer_sync(&rt5645->btn_check_timer);
rt5645           4067 sound/soc/codecs/rt5645.c 	regulator_bulk_disable(ARRAY_SIZE(rt5645->supplies), rt5645->supplies);
rt5645           4074 sound/soc/codecs/rt5645.c 	struct rt5645_priv *rt5645 = i2c_get_clientdata(i2c);
rt5645           4076 sound/soc/codecs/rt5645.c 	regmap_update_bits(rt5645->regmap, RT5645_GEN_CTRL3,
rt5645           4078 sound/soc/codecs/rt5645.c 	regmap_update_bits(rt5645->regmap, RT5645_IN1_CTRL2, RT5645_CBJ_MN_JD,
rt5645           4080 sound/soc/codecs/rt5645.c 	regmap_update_bits(rt5645->regmap, RT5645_IN1_CTRL1, RT5645_CBJ_BST1_EN,
rt5645           4083 sound/soc/codecs/rt5645.c 	regmap_write(rt5645->regmap, RT5645_RESET, 0);