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);