Loading sound/soc/codecs/rt5645.c +0 −59 Original line number Diff line number Diff line Loading @@ -441,65 +441,6 @@ static SOC_ENUM_SINGLE_DECL(rt5645_tdm_adc_sel_enum, RT5645_TDM_CTRL_1, 8, rt5645_tdm_adc_data_select); static int rt5645_clk_sel_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) { struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol); unsigned int u_bit = 0, p_bit = 0; struct soc_enum *em = (struct soc_enum *)kcontrol->private_value; switch (em->reg) { case RT5645_ASRC_2: switch (em->shift_l) { case 0: u_bit = 0x8; p_bit = RT5645_PWR_ADC_S1F; break; case 4: u_bit = 0x100; p_bit = RT5645_PWR_DAC_MF_R; break; case 8: u_bit = 0x200; p_bit = RT5645_PWR_DAC_MF_L; break; case 12: u_bit = 0x400; p_bit = RT5645_PWR_DAC_S1F; break; } break; case RT5645_ASRC_3: switch (em->shift_l) { case 0: u_bit = 0x1; p_bit = RT5645_PWR_ADC_MF_R; break; case 4: u_bit = 0x2; p_bit = RT5645_PWR_ADC_MF_L; break; } break; } if (u_bit || p_bit) { switch (ucontrol->value.integer.value[0]) { case 1 ... 4: /*enable*/ if (snd_soc_read(codec, RT5645_PWR_DIG2) & p_bit) snd_soc_update_bits(codec, RT5645_ASRC_1, u_bit, u_bit); break; default: /*disable*/ snd_soc_update_bits(codec, RT5645_ASRC_1, u_bit, 0); break; } } return snd_soc_put_enum_double(kcontrol, ucontrol); } static const struct snd_kcontrol_new rt5645_snd_controls[] = { /* Speaker Output Volume */ SOC_DOUBLE("Speaker Channel Switch", RT5645_SPK_VOL, Loading Loading
sound/soc/codecs/rt5645.c +0 −59 Original line number Diff line number Diff line Loading @@ -441,65 +441,6 @@ static SOC_ENUM_SINGLE_DECL(rt5645_tdm_adc_sel_enum, RT5645_TDM_CTRL_1, 8, rt5645_tdm_adc_data_select); static int rt5645_clk_sel_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) { struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol); unsigned int u_bit = 0, p_bit = 0; struct soc_enum *em = (struct soc_enum *)kcontrol->private_value; switch (em->reg) { case RT5645_ASRC_2: switch (em->shift_l) { case 0: u_bit = 0x8; p_bit = RT5645_PWR_ADC_S1F; break; case 4: u_bit = 0x100; p_bit = RT5645_PWR_DAC_MF_R; break; case 8: u_bit = 0x200; p_bit = RT5645_PWR_DAC_MF_L; break; case 12: u_bit = 0x400; p_bit = RT5645_PWR_DAC_S1F; break; } break; case RT5645_ASRC_3: switch (em->shift_l) { case 0: u_bit = 0x1; p_bit = RT5645_PWR_ADC_MF_R; break; case 4: u_bit = 0x2; p_bit = RT5645_PWR_ADC_MF_L; break; } break; } if (u_bit || p_bit) { switch (ucontrol->value.integer.value[0]) { case 1 ... 4: /*enable*/ if (snd_soc_read(codec, RT5645_PWR_DIG2) & p_bit) snd_soc_update_bits(codec, RT5645_ASRC_1, u_bit, u_bit); break; default: /*disable*/ snd_soc_update_bits(codec, RT5645_ASRC_1, u_bit, 0); break; } } return snd_soc_put_enum_double(kcontrol, ucontrol); } static const struct snd_kcontrol_new rt5645_snd_controls[] = { /* Speaker Output Volume */ SOC_DOUBLE("Speaker Channel Switch", RT5645_SPK_VOL, Loading