Loading sound/soc/omap/omap-mcbsp.c +27 −37 Original line number Diff line number Diff line Loading @@ -619,7 +619,7 @@ static int omap_mcbsp_st_info_volsw(struct snd_kcontrol *kcontrol, return 0; } #define OMAP_MCBSP_ST_SET_CHANNEL_VOLUME(channel) \ #define OMAP_MCBSP_ST_CHANNEL_VOLUME(channel) \ static int \ omap_mcbsp_set_st_ch##channel##_volume(struct snd_kcontrol *kc, \ struct snd_ctl_elem_value *uc) \ Loading @@ -637,9 +637,8 @@ omap_mcbsp_set_st_ch##channel##_volume(struct snd_kcontrol *kc, \ \ /* OMAP McBSP implementation uses index values 0..4 */ \ return omap_st_set_chgain(mcbsp, channel, val); \ } #define OMAP_MCBSP_ST_GET_CHANNEL_VOLUME(channel) \ } \ \ static int \ omap_mcbsp_get_st_ch##channel##_volume(struct snd_kcontrol *kc, \ struct snd_ctl_elem_value *uc) \ Loading @@ -655,10 +654,8 @@ omap_mcbsp_get_st_ch##channel##_volume(struct snd_kcontrol *kc, \ return 0; \ } OMAP_MCBSP_ST_SET_CHANNEL_VOLUME(0) OMAP_MCBSP_ST_SET_CHANNEL_VOLUME(1) OMAP_MCBSP_ST_GET_CHANNEL_VOLUME(0) OMAP_MCBSP_ST_GET_CHANNEL_VOLUME(1) OMAP_MCBSP_ST_CHANNEL_VOLUME(0) OMAP_MCBSP_ST_CHANNEL_VOLUME(1) static int omap_mcbsp_st_put_mode(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) Loading Loading @@ -688,41 +685,34 @@ static int omap_mcbsp_st_get_mode(struct snd_kcontrol *kcontrol, return 0; } static const struct snd_kcontrol_new omap_mcbsp2_st_controls[] = { SOC_SINGLE_EXT("McBSP2 Sidetone Switch", 1, 0, 1, 0, omap_mcbsp_st_get_mode, omap_mcbsp_st_put_mode), OMAP_MCBSP_SOC_SINGLE_S16_EXT("McBSP2 Sidetone Channel 0 Volume", -32768, 32767, omap_mcbsp_get_st_ch0_volume, omap_mcbsp_set_st_ch0_volume), OMAP_MCBSP_SOC_SINGLE_S16_EXT("McBSP2 Sidetone Channel 1 Volume", -32768, 32767, omap_mcbsp_get_st_ch1_volume, omap_mcbsp_set_st_ch1_volume), }; #define OMAP_MCBSP_ST_CONTROLS(port) \ static const struct snd_kcontrol_new omap_mcbsp##port##_st_controls[] = { \ SOC_SINGLE_EXT("McBSP" #port " Sidetone Switch", 1, 0, 1, 0, \ omap_mcbsp_st_get_mode, omap_mcbsp_st_put_mode), \ OMAP_MCBSP_SOC_SINGLE_S16_EXT("McBSP" #port " Sidetone Channel 0 Volume", \ -32768, 32767, \ omap_mcbsp_get_st_ch0_volume, \ omap_mcbsp_set_st_ch0_volume), \ OMAP_MCBSP_SOC_SINGLE_S16_EXT("McBSP" #port " Sidetone Channel 1 Volume", \ -32768, 32767, \ omap_mcbsp_get_st_ch1_volume, \ omap_mcbsp_set_st_ch1_volume), \ } static const struct snd_kcontrol_new omap_mcbsp3_st_controls[] = { SOC_SINGLE_EXT("McBSP3 Sidetone Switch", 2, 0, 1, 0, omap_mcbsp_st_get_mode, omap_mcbsp_st_put_mode), OMAP_MCBSP_SOC_SINGLE_S16_EXT("McBSP3 Sidetone Channel 0 Volume", -32768, 32767, omap_mcbsp_get_st_ch0_volume, omap_mcbsp_set_st_ch0_volume), OMAP_MCBSP_SOC_SINGLE_S16_EXT("McBSP3 Sidetone Channel 1 Volume", -32768, 32767, omap_mcbsp_get_st_ch1_volume, omap_mcbsp_set_st_ch1_volume), }; OMAP_MCBSP_ST_CONTROLS(2); OMAP_MCBSP_ST_CONTROLS(3); int omap_mcbsp_st_add_controls(struct snd_soc_pcm_runtime *rtd) { struct snd_soc_dai *cpu_dai = rtd->cpu_dai; struct omap_mcbsp *mcbsp = snd_soc_dai_get_drvdata(cpu_dai); if (!mcbsp->st_data) return -ENODEV; if (!mcbsp->st_data) { dev_warn(mcbsp->dev, "No sidetone data for port\n"); return 0; } switch (cpu_dai->id) { switch (mcbsp->id) { case 2: /* McBSP 2 */ return snd_soc_add_dai_controls(cpu_dai, omap_mcbsp2_st_controls, Loading Loading
sound/soc/omap/omap-mcbsp.c +27 −37 Original line number Diff line number Diff line Loading @@ -619,7 +619,7 @@ static int omap_mcbsp_st_info_volsw(struct snd_kcontrol *kcontrol, return 0; } #define OMAP_MCBSP_ST_SET_CHANNEL_VOLUME(channel) \ #define OMAP_MCBSP_ST_CHANNEL_VOLUME(channel) \ static int \ omap_mcbsp_set_st_ch##channel##_volume(struct snd_kcontrol *kc, \ struct snd_ctl_elem_value *uc) \ Loading @@ -637,9 +637,8 @@ omap_mcbsp_set_st_ch##channel##_volume(struct snd_kcontrol *kc, \ \ /* OMAP McBSP implementation uses index values 0..4 */ \ return omap_st_set_chgain(mcbsp, channel, val); \ } #define OMAP_MCBSP_ST_GET_CHANNEL_VOLUME(channel) \ } \ \ static int \ omap_mcbsp_get_st_ch##channel##_volume(struct snd_kcontrol *kc, \ struct snd_ctl_elem_value *uc) \ Loading @@ -655,10 +654,8 @@ omap_mcbsp_get_st_ch##channel##_volume(struct snd_kcontrol *kc, \ return 0; \ } OMAP_MCBSP_ST_SET_CHANNEL_VOLUME(0) OMAP_MCBSP_ST_SET_CHANNEL_VOLUME(1) OMAP_MCBSP_ST_GET_CHANNEL_VOLUME(0) OMAP_MCBSP_ST_GET_CHANNEL_VOLUME(1) OMAP_MCBSP_ST_CHANNEL_VOLUME(0) OMAP_MCBSP_ST_CHANNEL_VOLUME(1) static int omap_mcbsp_st_put_mode(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) Loading Loading @@ -688,41 +685,34 @@ static int omap_mcbsp_st_get_mode(struct snd_kcontrol *kcontrol, return 0; } static const struct snd_kcontrol_new omap_mcbsp2_st_controls[] = { SOC_SINGLE_EXT("McBSP2 Sidetone Switch", 1, 0, 1, 0, omap_mcbsp_st_get_mode, omap_mcbsp_st_put_mode), OMAP_MCBSP_SOC_SINGLE_S16_EXT("McBSP2 Sidetone Channel 0 Volume", -32768, 32767, omap_mcbsp_get_st_ch0_volume, omap_mcbsp_set_st_ch0_volume), OMAP_MCBSP_SOC_SINGLE_S16_EXT("McBSP2 Sidetone Channel 1 Volume", -32768, 32767, omap_mcbsp_get_st_ch1_volume, omap_mcbsp_set_st_ch1_volume), }; #define OMAP_MCBSP_ST_CONTROLS(port) \ static const struct snd_kcontrol_new omap_mcbsp##port##_st_controls[] = { \ SOC_SINGLE_EXT("McBSP" #port " Sidetone Switch", 1, 0, 1, 0, \ omap_mcbsp_st_get_mode, omap_mcbsp_st_put_mode), \ OMAP_MCBSP_SOC_SINGLE_S16_EXT("McBSP" #port " Sidetone Channel 0 Volume", \ -32768, 32767, \ omap_mcbsp_get_st_ch0_volume, \ omap_mcbsp_set_st_ch0_volume), \ OMAP_MCBSP_SOC_SINGLE_S16_EXT("McBSP" #port " Sidetone Channel 1 Volume", \ -32768, 32767, \ omap_mcbsp_get_st_ch1_volume, \ omap_mcbsp_set_st_ch1_volume), \ } static const struct snd_kcontrol_new omap_mcbsp3_st_controls[] = { SOC_SINGLE_EXT("McBSP3 Sidetone Switch", 2, 0, 1, 0, omap_mcbsp_st_get_mode, omap_mcbsp_st_put_mode), OMAP_MCBSP_SOC_SINGLE_S16_EXT("McBSP3 Sidetone Channel 0 Volume", -32768, 32767, omap_mcbsp_get_st_ch0_volume, omap_mcbsp_set_st_ch0_volume), OMAP_MCBSP_SOC_SINGLE_S16_EXT("McBSP3 Sidetone Channel 1 Volume", -32768, 32767, omap_mcbsp_get_st_ch1_volume, omap_mcbsp_set_st_ch1_volume), }; OMAP_MCBSP_ST_CONTROLS(2); OMAP_MCBSP_ST_CONTROLS(3); int omap_mcbsp_st_add_controls(struct snd_soc_pcm_runtime *rtd) { struct snd_soc_dai *cpu_dai = rtd->cpu_dai; struct omap_mcbsp *mcbsp = snd_soc_dai_get_drvdata(cpu_dai); if (!mcbsp->st_data) return -ENODEV; if (!mcbsp->st_data) { dev_warn(mcbsp->dev, "No sidetone data for port\n"); return 0; } switch (cpu_dai->id) { switch (mcbsp->id) { case 2: /* McBSP 2 */ return snd_soc_add_dai_controls(cpu_dai, omap_mcbsp2_st_controls, Loading