Re: [PATCH v1] ASoC: codecs: lpass-macro: Add support for channel map mixer control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



On Mon Sep 30, 2024 at 6:31 AM BST, Mohammad Rafi Shaik wrote:
> From: Rohit kumar <quic_rohkumar@xxxxxxxxxxx>
>
> Add channel map mixer control for lpass macro codec DAIs.
>
> Signed-off-by: Rohit kumar <quic_rohkumar@xxxxxxxxxxx>
> Co-developed-by: Mohammad Rafi Shaik <quic_mohs@xxxxxxxxxxx>
> Signed-off-by: Mohammad Rafi Shaik <quic_mohs@xxxxxxxxxxx>
> ---

IIUC there was off-the-list discussion about why it is needed.
Could you please elaborate a bit more in the commit message?

> --- a/sound/soc/codecs/lpass-macro-common.c
> +++ b/sound/soc/codecs/lpass-macro-common.c
> @@ -8,12 +8,67 @@
>  #include <linux/platform_device.h>
>  #include <linux/pm_domain.h>
>  #include <linux/pm_runtime.h>
> +#include <sound/control.h>
> +#include <sound/pcm.h>
> +#include <sound/soc.h>
>  
>  #include "lpass-macro-common.h"
>  
>  static DEFINE_MUTEX(lpass_codec_mutex);
>  static enum lpass_codec_version lpass_codec_version;
>  
> +static int lpass_macro_chmap_ctl_get(struct snd_kcontrol *kcontrol,
> +				     struct snd_ctl_elem_value *ucontrol)
> +{
> +	struct snd_pcm_chmap *info = snd_kcontrol_chip(kcontrol);
> +	struct snd_soc_dai *dai = info->private_data;
> +	u32 *chmap_data = NULL;

You don't really need to set chmap_data to NULL if you're going to overwrite
it with a kzalloc() call a couple of lines below.

> +	u32 rx_ch_cnt = 0;
> +	u32 tx_ch_cnt = 0;
> +	u32 rx_ch, tx_ch;
> +
> +	chmap_data = kzalloc(sizeof(u32) * 2, GFP_KERNEL);
> +	if (!chmap_data)
> +		return -ENOMEM;
> +

[...]

Thanks,
Alexey







[Index of Archives]     [Pulseaudio]     [Linux Audio Users]     [ALSA Devel]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]

  Powered by Linux