ASoC: omap-mcbsp: Use macro to create the McBSP2/3 ST controls

To remove duplicated code from the driver.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Jarkko Nikula <jarkko.nikula@bitmer.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
Peter Ujfalusi 2012-08-22 13:11:42 +03:00 committed by Mark Brown
parent 8a88df4cda
commit 8996a31c58

View File

@ -688,31 +688,22 @@ static int omap_mcbsp_st_get_mode(struct snd_kcontrol *kcontrol,
return 0; return 0;
} }
static const struct snd_kcontrol_new omap_mcbsp2_st_controls[] = { #define OMAP_MCBSP_ST_CONTROLS(port) \
SOC_SINGLE_EXT("McBSP2 Sidetone Switch", 1, 0, 1, 0, static const struct snd_kcontrol_new omap_mcbsp##port##_st_controls[] = { \
omap_mcbsp_st_get_mode, omap_mcbsp_st_put_mode), SOC_SINGLE_EXT("McBSP" #port " Sidetone Switch", 1, 0, 1, 0, \
OMAP_MCBSP_SOC_SINGLE_S16_EXT("McBSP2 Sidetone Channel 0 Volume", omap_mcbsp_st_get_mode, omap_mcbsp_st_put_mode), \
-32768, 32767, OMAP_MCBSP_SOC_SINGLE_S16_EXT("McBSP" #port " Sidetone Channel 0 Volume", \
omap_mcbsp_get_st_ch0_volume, -32768, 32767, \
omap_mcbsp_set_st_ch0_volume), omap_mcbsp_get_st_ch0_volume, \
OMAP_MCBSP_SOC_SINGLE_S16_EXT("McBSP2 Sidetone Channel 1 Volume", omap_mcbsp_set_st_ch0_volume), \
-32768, 32767, OMAP_MCBSP_SOC_SINGLE_S16_EXT("McBSP" #port " Sidetone Channel 1 Volume", \
omap_mcbsp_get_st_ch1_volume, -32768, 32767, \
omap_mcbsp_set_st_ch1_volume), omap_mcbsp_get_st_ch1_volume, \
}; omap_mcbsp_set_st_ch1_volume), \
}
static const struct snd_kcontrol_new omap_mcbsp3_st_controls[] = { OMAP_MCBSP_ST_CONTROLS(2);
SOC_SINGLE_EXT("McBSP3 Sidetone Switch", 2, 0, 1, 0, OMAP_MCBSP_ST_CONTROLS(3);
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),
};
int omap_mcbsp_st_add_controls(struct snd_soc_pcm_runtime *rtd) int omap_mcbsp_st_add_controls(struct snd_soc_pcm_runtime *rtd)
{ {