Re: [PATCH 30/44] ASoC: codecs: rt*: use .auto_selectable_formats

Mark Brown <[email protected]> Tue, 4 Aug 2026 18:39:30 +0100
Newsgroups gmane.linux.sound
Message-ID <[email protected]>
On Tue, Aug 04, 2026 at 12:43:07AM +0000, Kuninori Morimoto wrote:

> We can use .auto_selectable_formats. Let's adds it.

> diff --git a/sound/soc/codecs/rt5668.c b/sound/soc/codecs/rt5668.c
> index 4154bad276101..1a4a928c7c3c6 100644
> --- a/sound/soc/codecs/rt5668.c
> +++ b/sound/soc/codecs/rt5668.c
> @@ -2254,16 +2254,30 @@ static int rt5668_resume(struct snd_soc_component *component)
>  #define RT5668_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE | \
>  		SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S8)
>  
> +static const u64 rt5668_selectable_formats =
> +	SND_SOC_POSSIBLE_DAIFMT_I2S	|
> +	SND_SOC_POSSIBLE_DAIFMT_LEFT_J	|
> +	SND_SOC_POSSIBLE_DAIFMT_DSP_A	|
> +	SND_SOC_POSSIBLE_DAIFMT_DSP_B	|
> +	SND_SOC_POSSIBLE_DAIFMT_NB_NF	|
> +	SND_SOC_POSSIBLE_DAIFMT_NB_IF	|
> +	SND_SOC_POSSIBLE_DAIFMT_IB_NF	|
> +	SND_SOC_POSSIBLE_DAIFMT_IB_IF;
> +
>  static const struct snd_soc_dai_ops rt5668_aif1_dai_ops = {
>  	.hw_params = rt5668_hw_params,
>  	.set_fmt = rt5668_set_dai_fmt,
>  	.set_tdm_slot = rt5668_set_tdm_slot,
> +	.auto_selectable_formats	= &rt5668_selectable_formats,
> +	.num_auto_selectable_formats	= 1,
>  };
>  
>  static const struct snd_soc_dai_ops rt5668_aif2_dai_ops = {
>  	.hw_params = rt5668_hw_params,
>  	.set_fmt = rt5668_set_dai_fmt,
>  	.set_bclk_ratio = rt5668_set_bclk_ratio,
> +	.auto_selectable_formats	= &rt5668_selectable_formats,
> +	.num_auto_selectable_formats	= 1,
>  };

The ops special case DAI2 for set_dai_fmt() so it'll need a different
set of formats.  Similarly for rt5682.
signature.asc (application/pgp-signature, 488 B)
-----BEGIN PGP SIGNATURE-----

iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAmpyI9EACgkQJNaLcl1U
h9D2/gf/bzeupqZKHwxveG1Sg6V+/BpV64XInRaWR/co9nu8fMAGTv7BD/1LjNpD
DKtzRJ0g7qZJ5DHcY5FLyAy3ZHvcPKjmSv3TU5M/r0Dn2bStrf2OWrtCXK2nTfuC
V3ah/ruQp+2Mb00lF8KnRtDtdIFL270ocFK33ptnBBjm+B+u81PHnrNZyzKCeMNE
lYWu3DcB74aH5I5HpmtBrH4IFi9THRs95TBdYvfl5vmHUkVPsyCZzu+ey7cPaWi9
xaB6aFXf9aAYhhU6wpYBdFDEUjpOm8RaLpbEYgV5mYofI2dW17Xl2gzfqrja0DRD
Z1j1ocw7V743JG3hlFPx+49hlsB9NQ==
=EGSg
-----END PGP SIGNATURE-----