Lines Matching refs:rt5645

676 	struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);  in rt5645_hweq_get()  local
682 eq_param[i].reg = cpu_to_be16(rt5645->eq_param[i].reg); in rt5645_hweq_get()
683 eq_param[i].val = cpu_to_be16(rt5645->eq_param[i].val); in rt5645_hweq_get()
702 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component); in rt5645_hweq_put() local
708 rt5645->eq_param[i].reg = be16_to_cpu(eq_param[i].reg); in rt5645_hweq_put()
709 rt5645->eq_param[i].val = be16_to_cpu(eq_param[i].val); in rt5645_hweq_put()
714 if (rt5645->eq_param[i].reg == 0) in rt5645_hweq_put()
716 else if (rt5645->eq_param[i].reg != RT5645_EQ_CTRL2) in rt5645_hweq_put()
723 if (!rt5645_validate_hweq(rt5645->eq_param[i].reg) && in rt5645_hweq_put()
724 rt5645->eq_param[i].reg != 0) in rt5645_hweq_put()
726 else if (rt5645->eq_param[i].reg == 0) in rt5645_hweq_put()
744 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component); in rt5645_spk_put_volsw() local
747 regmap_update_bits(rt5645->regmap, RT5645_MICBIAS, in rt5645_spk_put_volsw()
752 mod_delayed_work(system_power_efficient_wq, &rt5645->rcclock_work, in rt5645_spk_put_volsw()
849 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component); in set_dmic_clk() local
852 rate = rt5645->sysclk / rl6231_get_pre_div(rt5645->regmap, in set_dmic_clk()
927 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component); in rt5645_enable_hweq() local
931 if (rt5645_validate_hweq(rt5645->eq_param[i].reg)) in rt5645_enable_hweq()
932 regmap_write(rt5645->regmap, rt5645->eq_param[i].reg, in rt5645_enable_hweq()
933 rt5645->eq_param[i].val); in rt5645_enable_hweq()
1647 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component); in hp_amp_power() local
1651 if (rt5645->codec_type == CODEC_TYPE_RT5650) { in hp_amp_power()
1656 regmap_write(rt5645->regmap, RT5645_PR_BASE + in hp_amp_power()
1661 regmap_write(rt5645->regmap, RT5645_PR_BASE + in hp_amp_power()
1664 regmap_write(rt5645->regmap, RT5645_PR_BASE + in hp_amp_power()
1668 rt5645->hp_on = true; in hp_amp_power()
1674 regmap_write(rt5645->regmap, RT5645_PR_BASE + in hp_amp_power()
1696 regmap_write(rt5645->regmap, RT5645_PR_BASE + in hp_amp_power()
1698 regmap_write(rt5645->regmap, RT5645_PR_BASE + in hp_amp_power()
1706 if (rt5645->codec_type == CODEC_TYPE_RT5650) { in hp_amp_power()
1707 regmap_write(rt5645->regmap, RT5645_PR_BASE + in hp_amp_power()
1710 regmap_write(rt5645->regmap, RT5645_PR_BASE + in hp_amp_power()
1740 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component); in rt5645_hp_event() local
1746 if (rt5645->codec_type == CODEC_TYPE_RT5645) { in rt5645_hp_event()
1753 regmap_write(rt5645->regmap, RT5645_PR_BASE + in rt5645_hp_event()
1773 if (rt5645->codec_type == CODEC_TYPE_RT5645) { in rt5645_hp_event()
1780 regmap_write(rt5645->regmap, RT5645_PR_BASE + in rt5645_hp_event()
1892 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component); in rt5650_hp_event() local
1896 if (rt5645->hp_on) { in rt5650_hp_event()
1898 rt5645->hp_on = false; in rt5650_hp_event()
2735 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component); in rt5645_hw_params() local
2739 rt5645->lrck[dai->id] = params_rate(params); in rt5645_hw_params()
2740 pre_div = rl6231_get_clk_info(rt5645->sysclk, rt5645->lrck[dai->id]); in rt5645_hw_params()
2751 switch (rt5645->codec_type) { in rt5645_hw_params()
2761 rt5645->bclk[dai->id] = rt5645->lrck[dai->id] * (32 << bclk_ms); in rt5645_hw_params()
2764 rt5645->bclk[dai->id], rt5645->lrck[dai->id]); in rt5645_hw_params()
2811 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component); in rt5645_set_dai_fmt() local
2814 switch (rt5645->codec_type) { in rt5645_set_dai_fmt()
2825 rt5645->master[dai->id] = 1; in rt5645_set_dai_fmt()
2829 rt5645->master[dai->id] = 0; in rt5645_set_dai_fmt()
2882 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component); in rt5645_set_dai_sysclk() local
2885 if (freq == rt5645->sysclk && clk_id == rt5645->sysclk_src) in rt5645_set_dai_sysclk()
2904 rt5645->sysclk = freq; in rt5645_set_dai_sysclk()
2905 rt5645->sysclk_src = clk_id; in rt5645_set_dai_sysclk()
2916 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component); in rt5645_set_dai_pll() local
2920 if (source == rt5645->pll_src && freq_in == rt5645->pll_in && in rt5645_set_dai_pll()
2921 freq_out == rt5645->pll_out) in rt5645_set_dai_pll()
2927 rt5645->pll_in = 0; in rt5645_set_dai_pll()
2928 rt5645->pll_out = 0; in rt5645_set_dai_pll()
2976 rt5645->pll_in = freq_in; in rt5645_set_dai_pll()
2977 rt5645->pll_out = freq_out; in rt5645_set_dai_pll()
2978 rt5645->pll_src = source; in rt5645_set_dai_pll()
2987 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component); in rt5645_set_tdm_slot() local
2991 switch (rt5645->codec_type) { in rt5645_set_tdm_slot()
3009 if (rt5645->codec_type == CODEC_TYPE_RT5645) in rt5645_set_tdm_slot()
3052 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component); in rt5645_set_bias_level() local
3084 if (rt5645->en_button_func) in rt5645_set_bias_level()
3086 &rt5645->jack_detect_work, in rt5645_set_bias_level()
3093 if (!rt5645->en_button_func) in rt5645_set_bias_level()
3140 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component); in rt5645_jack_detect() local
3144 regmap_write(rt5645->regmap, RT5645_CHARGE_PUMP, 0x0e06); in rt5645_jack_detect()
3153 regmap_update_bits(rt5645->regmap, RT5645_PWR_ANLG1, in rt5645_jack_detect()
3156 regmap_update_bits(rt5645->regmap, RT5645_PWR_MIXER, in rt5645_jack_detect()
3158 regmap_update_bits(rt5645->regmap, RT5645_PWR_VOL, in rt5645_jack_detect()
3162 regmap_write(rt5645->regmap, RT5645_JD_CTRL3, 0x00f0); in rt5645_jack_detect()
3163 regmap_update_bits(rt5645->regmap, RT5645_IN1_CTRL2, in rt5645_jack_detect()
3165 regmap_update_bits(rt5645->regmap, RT5645_IN1_CTRL1, in rt5645_jack_detect()
3168 regmap_update_bits(rt5645->regmap, RT5645_IN1_CTRL2, in rt5645_jack_detect()
3172 regmap_read(rt5645->regmap, RT5645_IN1_CTRL3, &val); in rt5645_jack_detect()
3177 rt5645->jack_type = SND_JACK_HEADSET; in rt5645_jack_detect()
3178 if (rt5645->en_button_func) { in rt5645_jack_detect()
3184 rt5645->jack_type = SND_JACK_HEADPHONE; in rt5645_jack_detect()
3186 if (rt5645->pdata.level_trigger_irq) in rt5645_jack_detect()
3187 regmap_update_bits(rt5645->regmap, RT5645_IRQ_CTRL2, in rt5645_jack_detect()
3190 rt5645->jack_type = 0; in rt5645_jack_detect()
3192 regmap_update_bits(rt5645->regmap, RT5645_HP_VOL, in rt5645_jack_detect()
3195 regmap_update_bits(rt5645->regmap, RT5645_IN1_CTRL2, in rt5645_jack_detect()
3197 regmap_update_bits(rt5645->regmap, RT5645_IN1_CTRL1, in rt5645_jack_detect()
3200 if (rt5645->en_button_func) in rt5645_jack_detect()
3203 if (rt5645->pdata.jd_mode == 0) in rt5645_jack_detect()
3207 if (rt5645->pdata.level_trigger_irq) in rt5645_jack_detect()
3208 regmap_update_bits(rt5645->regmap, RT5645_IRQ_CTRL2, in rt5645_jack_detect()
3212 return rt5645->jack_type; in rt5645_jack_detect()
3233 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component); in rt5645_set_jack_detect() local
3235 rt5645->hp_jack = hp_jack; in rt5645_set_jack_detect()
3236 rt5645->mic_jack = mic_jack; in rt5645_set_jack_detect()
3237 rt5645->btn_jack = btn_jack; in rt5645_set_jack_detect()
3238 if (rt5645->btn_jack && rt5645->codec_type == CODEC_TYPE_RT5650) { in rt5645_set_jack_detect()
3239 rt5645->en_button_func = true; in rt5645_set_jack_detect()
3240 regmap_update_bits(rt5645->regmap, RT5645_GPIO_CTRL1, in rt5645_set_jack_detect()
3242 regmap_update_bits(rt5645->regmap, RT5645_GEN_CTRL1, in rt5645_set_jack_detect()
3245 rt5645_irq(0, rt5645); in rt5645_set_jack_detect()
3253 struct rt5645_priv *rt5645 = in rt5645_jack_detect_work() local
3257 if (!rt5645->component) in rt5645_jack_detect_work()
3260 switch (rt5645->pdata.jd_mode) { in rt5645_jack_detect_work()
3262 if (rt5645->gpiod_hp_det) { in rt5645_jack_detect_work()
3263 gpio_state = gpiod_get_value(rt5645->gpiod_hp_det); in rt5645_jack_detect_work()
3264 dev_dbg(rt5645->component->dev, "gpio_state = %d\n", in rt5645_jack_detect_work()
3266 report = rt5645_jack_detect(rt5645->component, gpio_state); in rt5645_jack_detect_work()
3268 snd_soc_jack_report(rt5645->hp_jack, in rt5645_jack_detect_work()
3270 snd_soc_jack_report(rt5645->mic_jack, in rt5645_jack_detect_work()
3274 val = snd_soc_component_read32(rt5645->component, RT5645_INT_IRQ_ST) & 0x1000; in rt5645_jack_detect_work()
3279 if (!val && (rt5645->jack_type == 0)) { /* jack in */ in rt5645_jack_detect_work()
3280 report = rt5645_jack_detect(rt5645->component, 1); in rt5645_jack_detect_work()
3281 } else if (!val && rt5645->jack_type != 0) { in rt5645_jack_detect_work()
3284 if (snd_soc_component_read32(rt5645->component, RT5645_INT_IRQ_ST) & 0x4) { in rt5645_jack_detect_work()
3287 btn_type = rt5645_button_detect(rt5645->component); in rt5645_jack_detect_work()
3317 dev_err(rt5645->component->dev, in rt5645_jack_detect_work()
3324 report = rt5645->jack_type; in rt5645_jack_detect_work()
3326 mod_timer(&rt5645->btn_check_timer, in rt5645_jack_detect_work()
3332 snd_soc_component_update_bits(rt5645->component, in rt5645_jack_detect_work()
3334 rt5645_jack_detect(rt5645->component, 0); in rt5645_jack_detect_work()
3337 snd_soc_jack_report(rt5645->hp_jack, report, SND_JACK_HEADPHONE); in rt5645_jack_detect_work()
3338 snd_soc_jack_report(rt5645->mic_jack, report, SND_JACK_MICROPHONE); in rt5645_jack_detect_work()
3339 if (rt5645->en_button_func) in rt5645_jack_detect_work()
3340 snd_soc_jack_report(rt5645->btn_jack, in rt5645_jack_detect_work()
3347 struct rt5645_priv *rt5645 = in rt5645_rcclock_work() local
3350 regmap_update_bits(rt5645->regmap, RT5645_MICBIAS, in rt5645_rcclock_work()
3356 struct rt5645_priv *rt5645 = data; in rt5645_irq() local
3359 &rt5645->jack_detect_work, msecs_to_jiffies(250)); in rt5645_irq()
3366 struct rt5645_priv *rt5645 = from_timer(rt5645, t, btn_check_timer); in rt5645_btn_check_callback() local
3369 &rt5645->jack_detect_work, msecs_to_jiffies(5)); in rt5645_btn_check_callback()
3375 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component); in rt5645_probe() local
3377 rt5645->component = component; in rt5645_probe()
3379 switch (rt5645->codec_type) { in rt5645_probe()
3387 if (rt5645->v_id < 3) { in rt5645_probe()
3406 if (rt5645->pdata.jd_mode) { in rt5645_probe()
3412 if (rt5645->pdata.long_name) in rt5645_probe()
3413 component->card->long_name = rt5645->pdata.long_name; in rt5645_probe()
3415 rt5645->eq_param = devm_kcalloc(component->dev, in rt5645_probe()
3419 if (!rt5645->eq_param) in rt5645_probe()
3433 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component); in rt5645_suspend() local
3435 regcache_cache_only(rt5645->regmap, true); in rt5645_suspend()
3436 regcache_mark_dirty(rt5645->regmap); in rt5645_suspend()
3443 struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component); in rt5645_resume() local
3445 regcache_cache_only(rt5645->regmap, false); in rt5645_resume()
3446 regcache_sync(rt5645->regmap); in rt5645_resume()
3759 static int rt5645_parse_dt(struct rt5645_priv *rt5645, struct device *dev) in rt5645_parse_dt() argument
3761 rt5645->pdata.in2_diff = device_property_read_bool(dev, in rt5645_parse_dt()
3764 "realtek,dmic1-data-pin", &rt5645->pdata.dmic1_data_pin); in rt5645_parse_dt()
3766 "realtek,dmic2-data-pin", &rt5645->pdata.dmic2_data_pin); in rt5645_parse_dt()
3768 "realtek,jd-mode", &rt5645->pdata.jd_mode); in rt5645_parse_dt()
3778 struct rt5645_priv *rt5645; in rt5645_i2c_probe() local
3783 rt5645 = devm_kzalloc(&i2c->dev, sizeof(struct rt5645_priv), in rt5645_i2c_probe()
3785 if (rt5645 == NULL) in rt5645_i2c_probe()
3788 rt5645->i2c = i2c; in rt5645_i2c_probe()
3789 i2c_set_clientdata(i2c, rt5645); in rt5645_i2c_probe()
3798 rt5645->pdata = *pdata; in rt5645_i2c_probe()
3800 rt5645_parse_dt(rt5645, &i2c->dev); in rt5645_i2c_probe()
3802 rt5645->pdata = jd_mode3_platform_data; in rt5645_i2c_probe()
3805 rt5645->pdata.in2_diff = QUIRK_IN2_DIFF(quirk); in rt5645_i2c_probe()
3806 rt5645->pdata.level_trigger_irq = QUIRK_LEVEL_IRQ(quirk); in rt5645_i2c_probe()
3807 rt5645->pdata.inv_jd1_1 = QUIRK_INV_JD1_1(quirk); in rt5645_i2c_probe()
3808 rt5645->pdata.jd_mode = QUIRK_JD_MODE(quirk); in rt5645_i2c_probe()
3809 rt5645->pdata.dmic1_data_pin = QUIRK_DMIC1_DATA_PIN(quirk); in rt5645_i2c_probe()
3810 rt5645->pdata.dmic2_data_pin = QUIRK_DMIC2_DATA_PIN(quirk); in rt5645_i2c_probe()
3813 rt5645->gpiod_hp_det = devm_gpiod_get_optional(&i2c->dev, "hp-detect", in rt5645_i2c_probe()
3816 if (IS_ERR(rt5645->gpiod_hp_det)) { in rt5645_i2c_probe()
3818 ret = PTR_ERR(rt5645->gpiod_hp_det); in rt5645_i2c_probe()
3827 for (i = 0; i < ARRAY_SIZE(rt5645->supplies); i++) in rt5645_i2c_probe()
3828 rt5645->supplies[i].supply = rt5645_supply_names[i]; in rt5645_i2c_probe()
3831 ARRAY_SIZE(rt5645->supplies), in rt5645_i2c_probe()
3832 rt5645->supplies); in rt5645_i2c_probe()
3838 ret = regulator_bulk_enable(ARRAY_SIZE(rt5645->supplies), in rt5645_i2c_probe()
3839 rt5645->supplies); in rt5645_i2c_probe()
3862 rt5645->regmap = devm_regmap_init_i2c(i2c, &rt5645_regmap); in rt5645_i2c_probe()
3863 rt5645->codec_type = CODEC_TYPE_RT5645; in rt5645_i2c_probe()
3866 rt5645->regmap = devm_regmap_init_i2c(i2c, &rt5650_regmap); in rt5645_i2c_probe()
3867 rt5645->codec_type = CODEC_TYPE_RT5650; in rt5645_i2c_probe()
3877 if (IS_ERR(rt5645->regmap)) { in rt5645_i2c_probe()
3878 ret = PTR_ERR(rt5645->regmap); in rt5645_i2c_probe()
3884 regmap_write(rt5645->regmap, RT5645_RESET, 0); in rt5645_i2c_probe()
3887 rt5645->v_id = val & 0xff; in rt5645_i2c_probe()
3889 regmap_write(rt5645->regmap, RT5645_AD_DA_MIXER, 0x8080); in rt5645_i2c_probe()
3891 ret = regmap_register_patch(rt5645->regmap, init_list, in rt5645_i2c_probe()
3896 if (rt5645->codec_type == CODEC_TYPE_RT5650) { in rt5645_i2c_probe()
3897 ret = regmap_register_patch(rt5645->regmap, rt5650_init_list, in rt5645_i2c_probe()
3904 regmap_update_bits(rt5645->regmap, RT5645_CLSD_OUT_CTRL, 0xc0, 0xc0); in rt5645_i2c_probe()
3906 if (rt5645->pdata.in2_diff) in rt5645_i2c_probe()
3907 regmap_update_bits(rt5645->regmap, RT5645_IN2_CTRL, in rt5645_i2c_probe()
3910 if (rt5645->pdata.dmic1_data_pin || rt5645->pdata.dmic2_data_pin) { in rt5645_i2c_probe()
3911 regmap_update_bits(rt5645->regmap, RT5645_GPIO_CTRL1, in rt5645_i2c_probe()
3914 switch (rt5645->pdata.dmic1_data_pin) { in rt5645_i2c_probe()
3916 regmap_update_bits(rt5645->regmap, RT5645_DMIC_CTRL1, in rt5645_i2c_probe()
3921 regmap_update_bits(rt5645->regmap, RT5645_GPIO_CTRL1, in rt5645_i2c_probe()
3923 regmap_update_bits(rt5645->regmap, RT5645_DMIC_CTRL1, in rt5645_i2c_probe()
3925 regmap_update_bits(rt5645->regmap, RT5645_GPIO_CTRL1, in rt5645_i2c_probe()
3930 regmap_update_bits(rt5645->regmap, RT5645_DMIC_CTRL1, in rt5645_i2c_probe()
3932 regmap_update_bits(rt5645->regmap, RT5645_GPIO_CTRL1, in rt5645_i2c_probe()
3941 switch (rt5645->pdata.dmic2_data_pin) { in rt5645_i2c_probe()
3943 regmap_update_bits(rt5645->regmap, RT5645_DMIC_CTRL1, in rt5645_i2c_probe()
3948 regmap_update_bits(rt5645->regmap, RT5645_DMIC_CTRL1, in rt5645_i2c_probe()
3950 regmap_update_bits(rt5645->regmap, RT5645_GPIO_CTRL1, in rt5645_i2c_probe()
3955 regmap_update_bits(rt5645->regmap, RT5645_DMIC_CTRL1, in rt5645_i2c_probe()
3957 regmap_update_bits(rt5645->regmap, RT5645_GPIO_CTRL1, in rt5645_i2c_probe()
3963 regmap_update_bits(rt5645->regmap, RT5645_DMIC_CTRL1, in rt5645_i2c_probe()
3965 regmap_update_bits(rt5645->regmap, RT5645_GPIO_CTRL1, in rt5645_i2c_probe()
3974 if (rt5645->pdata.jd_mode) { in rt5645_i2c_probe()
3975 regmap_update_bits(rt5645->regmap, RT5645_GEN_CTRL3, in rt5645_i2c_probe()
3978 regmap_update_bits(rt5645->regmap, RT5645_MICBIAS, in rt5645_i2c_probe()
3980 regmap_update_bits(rt5645->regmap, RT5645_IRQ_CTRL2, in rt5645_i2c_probe()
3982 regmap_update_bits(rt5645->regmap, RT5645_GEN_CTRL3, in rt5645_i2c_probe()
3984 regmap_update_bits(rt5645->regmap, RT5645_HPO_MIXER, in rt5645_i2c_probe()
3986 regmap_update_bits(rt5645->regmap, RT5645_MICBIAS, in rt5645_i2c_probe()
3988 regmap_update_bits(rt5645->regmap, RT5645_GPIO_CTRL1, in rt5645_i2c_probe()
3990 switch (rt5645->pdata.jd_mode) { in rt5645_i2c_probe()
3992 regmap_update_bits(rt5645->regmap, RT5645_A_JD_CTRL1, in rt5645_i2c_probe()
3997 regmap_update_bits(rt5645->regmap, RT5645_A_JD_CTRL1, in rt5645_i2c_probe()
4002 regmap_update_bits(rt5645->regmap, RT5645_A_JD_CTRL1, in rt5645_i2c_probe()
4009 if (rt5645->pdata.inv_jd1_1) { in rt5645_i2c_probe()
4010 regmap_update_bits(rt5645->regmap, RT5645_IRQ_CTRL2, in rt5645_i2c_probe()
4015 regmap_update_bits(rt5645->regmap, RT5645_ADDA_CLK1, in rt5645_i2c_probe()
4018 if (rt5645->pdata.level_trigger_irq) { in rt5645_i2c_probe()
4019 regmap_update_bits(rt5645->regmap, RT5645_IRQ_CTRL2, in rt5645_i2c_probe()
4022 timer_setup(&rt5645->btn_check_timer, rt5645_btn_check_callback, 0); in rt5645_i2c_probe()
4024 INIT_DELAYED_WORK(&rt5645->jack_detect_work, rt5645_jack_detect_work); in rt5645_i2c_probe()
4025 INIT_DELAYED_WORK(&rt5645->rcclock_work, rt5645_rcclock_work); in rt5645_i2c_probe()
4027 if (rt5645->i2c->irq) { in rt5645_i2c_probe()
4028 ret = request_threaded_irq(rt5645->i2c->irq, NULL, rt5645_irq, in rt5645_i2c_probe()
4030 | IRQF_ONESHOT, "rt5645", rt5645); in rt5645_i2c_probe()
4045 if (rt5645->i2c->irq) in rt5645_i2c_probe()
4046 free_irq(rt5645->i2c->irq, rt5645); in rt5645_i2c_probe()
4048 regulator_bulk_disable(ARRAY_SIZE(rt5645->supplies), rt5645->supplies); in rt5645_i2c_probe()
4054 struct rt5645_priv *rt5645 = i2c_get_clientdata(i2c); in rt5645_i2c_remove() local
4057 free_irq(i2c->irq, rt5645); in rt5645_i2c_remove()
4059 cancel_delayed_work_sync(&rt5645->jack_detect_work); in rt5645_i2c_remove()
4060 cancel_delayed_work_sync(&rt5645->rcclock_work); in rt5645_i2c_remove()
4061 del_timer_sync(&rt5645->btn_check_timer); in rt5645_i2c_remove()
4063 regulator_bulk_disable(ARRAY_SIZE(rt5645->supplies), rt5645->supplies); in rt5645_i2c_remove()
4070 struct rt5645_priv *rt5645 = i2c_get_clientdata(i2c); in rt5645_i2c_shutdown() local
4072 regmap_update_bits(rt5645->regmap, RT5645_GEN_CTRL3, in rt5645_i2c_shutdown()
4074 regmap_update_bits(rt5645->regmap, RT5645_IN1_CTRL2, RT5645_CBJ_MN_JD, in rt5645_i2c_shutdown()
4076 regmap_update_bits(rt5645->regmap, RT5645_IN1_CTRL1, RT5645_CBJ_BST1_EN, in rt5645_i2c_shutdown()
4079 regmap_write(rt5645->regmap, RT5645_RESET, 0); in rt5645_i2c_shutdown()