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

Mark Brown <[email protected]> Tue, 4 Aug 2026 18:39:30 +0100
Newsgroups org.kernel.vger.linux-sound
Message-ID <[email protected]>
--7YoWC21nV2nt9OEy
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

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_3=
LE | \
>  		SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S8)
> =20
> +static const u64 rt5668_selectable_formats =3D
> +	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 =3D {
>  	.hw_params =3D rt5668_hw_params,
>  	.set_fmt =3D rt5668_set_dai_fmt,
>  	.set_tdm_slot =3D rt5668_set_tdm_slot,
> +	.auto_selectable_formats	=3D &rt5668_selectable_formats,
> +	.num_auto_selectable_formats	=3D 1,
>  };
> =20
>  static const struct snd_soc_dai_ops rt5668_aif2_dai_ops =3D {
>  	.hw_params =3D rt5668_hw_params,
>  	.set_fmt =3D rt5668_set_dai_fmt,
>  	.set_bclk_ratio =3D rt5668_set_bclk_ratio,
> +	.auto_selectable_formats	=3D &rt5668_selectable_formats,
> +	.num_auto_selectable_formats	=3D 1,
>  };

The ops special case DAI2 for set_dai_fmt() so it'll need a different
set of formats.  Similarly for rt5682.

--7YoWC21nV2nt9OEy
Content-Type: application/pgp-signature; name="signature.asc"

-----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-----

--7YoWC21nV2nt9OEy--