RE: [alsa-devel] [PATCH 2/2] ASoC: OMAP-McBSP: ASoC interface for McBSP sidetone

2010-01-29 Thread ilkka.koskinen

Hi,

>From: ext Liam Girdwood [mailto:l...@slimlogic.co.uk] 
>Sent: 28 January, 2010 18:22
>On Thu, 2010-01-28 at 17:46 +0200, Ilkka Koskinen wrote:
>> Add ASoC interface for OMAP McBSP2 and McBSP3 sidetones.
>> 
>> Signed-off-by: Ilkka Koskinen 
>> ---
>>  sound/soc/omap/omap-mcbsp.c |  187 
>+++
>>  sound/soc/omap/omap-mcbsp.h |2 +
>>  2 files changed, 189 insertions(+), 0 deletions(-)
>> 
>> diff --git a/sound/soc/omap/omap-mcbsp.c 
>b/sound/soc/omap/omap-mcbsp.c
>> index 6bbbd2a..295620b 100644
>> --- a/sound/soc/omap/omap-mcbsp.c
>> +++ b/sound/soc/omap/omap-mcbsp.c
>> @@ -39,6 +39,14 @@
>
>snip
>
>> +/* McBSP Sidetone Switch */
>> +static const char *omap_mcbsp_st_status[] = {
>> +"off",
>> +"on",
>> +};
>> +
>
>Should this not be a switch (like a mute switch) rather than an enum
>kcontrol ?

Makes sense. I'll change it.

>> +static const struct soc_enum omap_mcbsp_st_status_enum[] = {
>> +SOC_ENUM_SINGLE_EXT(ARRAY_SIZE(omap_mcbsp_st_status),
>> +omap_mcbsp_st_status),
>> +};
>> +
>> +static const struct snd_kcontrol_new omap_mcbsp2_st_controls[] = {
>> +SOC_ENUM_EXT("McBSP2 Sidetone Switch", 
>omap_mcbsp_st_status_enum[0],
>> +omap_mcbsp2_st_get_mode, 
>omap_mcbsp2_st_set_mode),
>> +OMAP_MCBSP_SOC_SINGLE_S16_EXT("McBSP2 Sidetone Channel 
>0 Volume",
>> +  -32768, 32767,
>> +  omap_mcbsp2_get_st_ch0_volume,
>> +  omap_mcbsp2_set_st_ch0_volume),
>> +OMAP_MCBSP_SOC_SINGLE_S16_EXT("McBSP2 Sidetone Channel 
>1 Volume",
>> +  -32768, 32767,
>> +  omap_mcbsp2_get_st_ch1_volume,
>> +  omap_mcbsp2_set_st_ch1_volume),
>> +};
>> +
>> +static const struct snd_kcontrol_new omap_mcbsp3_st_controls[] = {
>> +SOC_ENUM_EXT("McBSP3 Sidetone Switch", 
>omap_mcbsp_st_status_enum[0],
>> +omap_mcbsp3_st_get_mode, 
>omap_mcbsp3_st_set_mode),
>> +OMAP_MCBSP_SOC_SINGLE_S16_EXT("McBSP3 Sidetone Channel 
>0 Volume",
>> +  -32768, 32767,
>> +  omap_mcbsp3_get_st_ch0_volume,
>> +  omap_mcbsp3_set_st_ch0_volume),
>> +OMAP_MCBSP_SOC_SINGLE_S16_EXT("McBSP3 Sidetone Channel 
>1 Volume",
>> +  -32768, 32767,
>> +  omap_mcbsp3_get_st_ch1_volume,
>> +  omap_mcbsp3_set_st_ch1_volume),
>> +};
>> +
>> +int omap_mcbsp_st_add_controls(struct snd_soc_codec *codec, 
>int mcbsp_id)
>> +{
>> +if (!cpu_is_omap34xx())
>> +return -ENODEV;
>> +
>> +switch (mcbsp_id) {
>> +case 2: /* McBSP 2 */
>> +return snd_soc_add_controls(codec, 
>omap_mcbsp2_st_controls,
>> +
>ARRAY_SIZE(omap_mcbsp2_st_controls));
>> +case 3: /* McBSP 3 */
>> +return snd_soc_add_controls(codec, 
>omap_mcbsp3_st_controls,
>> +
>ARRAY_SIZE(omap_mcbsp3_st_controls));
>> +default:
>> +break;
>> +}
>> +
>> +return -1;
>
>-EINVAL;

Oops, thanks.

Cheers, Ilkka

>> +}
>> +EXPORT_SYMBOL_GPL(omap_mcbsp_st_add_controls);
>> +
>>  static int __init snd_omap_mcbsp_init(void)
>>  {
>>  return snd_soc_register_dais(omap_mcbsp_dai,
>> diff --git a/sound/soc/omap/omap-mcbsp.h 
>b/sound/soc/omap/omap-mcbsp.h
>> index 647d2f9..7537435 100644
>> --- a/sound/soc/omap/omap-mcbsp.h
>> +++ b/sound/soc/omap/omap-mcbsp.h
>> @@ -57,4 +57,6 @@ enum omap_mcbsp_div {
>>  
>>  extern struct snd_soc_dai omap_mcbsp_dai[NUM_LINKS];
>>  
>> +int omap_mcbsp_st_add_controls(struct snd_soc_codec *codec, 
>int mcbsp_id);
>> +
>>  #endif
>
>
>--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [alsa-devel] [PATCH 2/2] ASoC: OMAP-McBSP: ASoC interface for McBSP sidetone

2010-01-28 Thread Liam Girdwood
On Thu, 2010-01-28 at 17:46 +0200, Ilkka Koskinen wrote:
> Add ASoC interface for OMAP McBSP2 and McBSP3 sidetones.
> 
> Signed-off-by: Ilkka Koskinen 
> ---
>  sound/soc/omap/omap-mcbsp.c |  187 
> +++
>  sound/soc/omap/omap-mcbsp.h |2 +
>  2 files changed, 189 insertions(+), 0 deletions(-)
> 
> diff --git a/sound/soc/omap/omap-mcbsp.c b/sound/soc/omap/omap-mcbsp.c
> index 6bbbd2a..295620b 100644
> --- a/sound/soc/omap/omap-mcbsp.c
> +++ b/sound/soc/omap/omap-mcbsp.c
> @@ -39,6 +39,14 @@

snip

> +/* McBSP Sidetone Switch */
> +static const char *omap_mcbsp_st_status[] = {
> + "off",
> + "on",
> +};
> +

Should this not be a switch (like a mute switch) rather than an enum
kcontrol ?

> +static const struct soc_enum omap_mcbsp_st_status_enum[] = {
> + SOC_ENUM_SINGLE_EXT(ARRAY_SIZE(omap_mcbsp_st_status),
> + omap_mcbsp_st_status),
> +};
> +
> +static const struct snd_kcontrol_new omap_mcbsp2_st_controls[] = {
> + SOC_ENUM_EXT("McBSP2 Sidetone Switch", omap_mcbsp_st_status_enum[0],
> + omap_mcbsp2_st_get_mode, omap_mcbsp2_st_set_mode),
> + OMAP_MCBSP_SOC_SINGLE_S16_EXT("McBSP2 Sidetone Channel 0 Volume",
> +   -32768, 32767,
> +   omap_mcbsp2_get_st_ch0_volume,
> +   omap_mcbsp2_set_st_ch0_volume),
> + OMAP_MCBSP_SOC_SINGLE_S16_EXT("McBSP2 Sidetone Channel 1 Volume",
> +   -32768, 32767,
> +   omap_mcbsp2_get_st_ch1_volume,
> +   omap_mcbsp2_set_st_ch1_volume),
> +};
> +
> +static const struct snd_kcontrol_new omap_mcbsp3_st_controls[] = {
> + SOC_ENUM_EXT("McBSP3 Sidetone Switch", omap_mcbsp_st_status_enum[0],
> + omap_mcbsp3_st_get_mode, omap_mcbsp3_st_set_mode),
> + OMAP_MCBSP_SOC_SINGLE_S16_EXT("McBSP3 Sidetone Channel 0 Volume",
> +   -32768, 32767,
> +   omap_mcbsp3_get_st_ch0_volume,
> +   omap_mcbsp3_set_st_ch0_volume),
> + OMAP_MCBSP_SOC_SINGLE_S16_EXT("McBSP3 Sidetone Channel 1 Volume",
> +   -32768, 32767,
> +   omap_mcbsp3_get_st_ch1_volume,
> +   omap_mcbsp3_set_st_ch1_volume),
> +};
> +
> +int omap_mcbsp_st_add_controls(struct snd_soc_codec *codec, int mcbsp_id)
> +{
> + if (!cpu_is_omap34xx())
> + return -ENODEV;
> +
> + switch (mcbsp_id) {
> + case 2: /* McBSP 2 */
> + return snd_soc_add_controls(codec, omap_mcbsp2_st_controls,
> + ARRAY_SIZE(omap_mcbsp2_st_controls));
> + case 3: /* McBSP 3 */
> + return snd_soc_add_controls(codec, omap_mcbsp3_st_controls,
> + ARRAY_SIZE(omap_mcbsp3_st_controls));
> + default:
> + break;
> + }
> +
> + return -1;

-EINVAL;

> +}
> +EXPORT_SYMBOL_GPL(omap_mcbsp_st_add_controls);
> +
>  static int __init snd_omap_mcbsp_init(void)
>  {
>   return snd_soc_register_dais(omap_mcbsp_dai,
> diff --git a/sound/soc/omap/omap-mcbsp.h b/sound/soc/omap/omap-mcbsp.h
> index 647d2f9..7537435 100644
> --- a/sound/soc/omap/omap-mcbsp.h
> +++ b/sound/soc/omap/omap-mcbsp.h
> @@ -57,4 +57,6 @@ enum omap_mcbsp_div {
>  
>  extern struct snd_soc_dai omap_mcbsp_dai[NUM_LINKS];
>  
> +int omap_mcbsp_st_add_controls(struct snd_soc_codec *codec, int mcbsp_id);
> +
>  #endif


--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html