[alsa-devel] [PATCH 3/3] ASoC: omap-mcbsp: Use macro to create the McBSP2/3 ST controls
Peter Ujfalusi
peter.ujfalusi at ti.com
Tue Aug 21 16:46:56 CEST 2012
Hi,
On 08/21/2012 05:42 PM, Peter Ujfalusi wrote:
> To remove duplicated code from the driver.
>
> Signed-off-by: Peter Ujfalusi <peter.ujfalusi at ti.com>
> ---
> sound/soc/omap/omap-mcbsp.c | 39 +++++++++++++++------------------------
> 1 files changed, 15 insertions(+), 24 deletions(-)
>
> diff --git a/sound/soc/omap/omap-mcbsp.c b/sound/soc/omap/omap-mcbsp.c
> index c964f68..be52f26 100644
> --- a/sound/soc/omap/omap-mcbsp.c
> +++ b/sound/soc/omap/omap-mcbsp.c
> @@ -688,31 +688,22 @@ 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), \
> +}
This macro does not work correctly, I get this:
amixer | grep McBSP
Simple mixer control 'McBSP##port## Sidetone',0
Simple mixer control 'McBSP##port## Sidetone Channel 0',0
Simple mixer control 'McBSP##port## Sidetone Channel 1',0
as control names...
Please ignore this patch, I'll fix it or drop this.
>
> -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)
> {
>
--
Péter
More information about the Alsa-devel
mailing list