Re: [PATCH 04/44] ASoC: codecs: adau*: use .auto_selectable_formats
Nuno Sá <[email protected]> Tue, 4 Aug 2026 09:54:28 +0100
| Newsgroups | gmane.linux.sound |
|---|---|
| Message-ID | <anGort4nbJekjyq0@nsa> |
On Tue, Aug 04, 2026 at 12:40:49AM +0000, Kuninori Morimoto wrote: > We can use .auto_selectable_formats. Let's adds it. > > Signed-off-by: Kuninori Morimoto <[email protected]> > --- Acked-by: Nuno Sá <[email protected]> > sound/soc/codecs/adau1372.c | 12 ++++++++++++ > sound/soc/codecs/adau1373.c | 12 ++++++++++++ > sound/soc/codecs/adau1701.c | 11 +++++++++++ > sound/soc/codecs/adau17x1.c | 13 +++++++++++++ > sound/soc/codecs/adau1977.c | 13 +++++++++++++ > sound/soc/codecs/adau7118.c | 12 ++++++++++++ > 6 files changed, 73 insertions(+) > > diff --git a/sound/soc/codecs/adau1372.c b/sound/soc/codecs/adau1372.c > index cc174ec3a1f82..0830d7d2dd7c5 100644 > --- a/sound/soc/codecs/adau1372.c > +++ b/sound/soc/codecs/adau1372.c > @@ -881,12 +881,24 @@ static const struct snd_soc_component_driver adau1372_driver = { > .endianness = 1, > }; > > +static const u64 adau1372_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 adau1372_dai_ops = { > .set_fmt = adau1372_set_dai_fmt, > .set_tdm_slot = adau1372_set_tdm_slot, > .set_tristate = adau1372_set_tristate, > .hw_params = adau1372_hw_params, > .startup = adau1372_startup, > + .auto_selectable_formats = &adau1372_selectable_formats, > + .num_auto_selectable_formats = 1, > }; > > #define ADAU1372_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | \ > diff --git a/sound/soc/codecs/adau1373.c b/sound/soc/codecs/adau1373.c > index 5dd961b233ce9..aa7d3a4b9f588 100644 > --- a/sound/soc/codecs/adau1373.c > +++ b/sound/soc/codecs/adau1373.c > @@ -1196,10 +1196,22 @@ static int adau1373_set_dai_sysclk(struct snd_soc_dai *dai, > return 0; > } > > +static const u64 adau1373_selectable_formats = > + SND_SOC_POSSIBLE_DAIFMT_I2S | > + SND_SOC_POSSIBLE_DAIFMT_RIGHT_J | > + SND_SOC_POSSIBLE_DAIFMT_LEFT_J | > + 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 adau1373_dai_ops = { > .hw_params = adau1373_hw_params, > .set_sysclk = adau1373_set_dai_sysclk, > .set_fmt = adau1373_set_dai_fmt, > + .auto_selectable_formats = &adau1373_selectable_formats, > + .num_auto_selectable_formats = 1, > }; > > #define ADAU1373_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE | \ > diff --git a/sound/soc/codecs/adau1701.c b/sound/soc/codecs/adau1701.c > index 329ab01b62c00..505d52c636278 100644 > --- a/sound/soc/codecs/adau1701.c > +++ b/sound/soc/codecs/adau1701.c > @@ -627,11 +627,22 @@ static int adau1701_startup(struct snd_pcm_substream *substream, > #define ADAU1701_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE |\ > SNDRV_PCM_FMTBIT_S24_LE) > > +static const u64 adau1701_selectable_formats = > + SND_SOC_POSSIBLE_DAIFMT_I2S | > + SND_SOC_POSSIBLE_DAIFMT_RIGHT_J | > + SND_SOC_POSSIBLE_DAIFMT_LEFT_J | > + 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 adau1701_dai_ops = { > .set_fmt = adau1701_set_dai_fmt, > .hw_params = adau1701_hw_params, > .mute_stream = adau1701_mute_stream, > .startup = adau1701_startup, > + .auto_selectable_formats = &adau1701_selectable_formats, > + .num_auto_selectable_formats = 1, > .no_capture_mute = 1, > }; > > diff --git a/sound/soc/codecs/adau17x1.c b/sound/soc/codecs/adau17x1.c > index 26d7eb437ad18..45ac226b2f1bc 100644 > --- a/sound/soc/codecs/adau17x1.c > +++ b/sound/soc/codecs/adau17x1.c > @@ -776,6 +776,17 @@ static int adau17x1_startup(struct snd_pcm_substream *substream, > return 0; > } > > +static const u64 adau17x1_selectable_formats = > + SND_SOC_POSSIBLE_DAIFMT_I2S | > + SND_SOC_POSSIBLE_DAIFMT_RIGHT_J | > + 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; > + > const struct snd_soc_dai_ops adau17x1_dai_ops = { > .hw_params = adau17x1_hw_params, > .set_sysclk = adau17x1_set_dai_sysclk, > @@ -783,6 +794,8 @@ const struct snd_soc_dai_ops adau17x1_dai_ops = { > .set_pll = adau17x1_set_dai_pll, > .set_tdm_slot = adau17x1_set_dai_tdm_slot, > .startup = adau17x1_startup, > + .auto_selectable_formats = &adau17x1_selectable_formats, > + .num_auto_selectable_formats = 1, > }; > EXPORT_SYMBOL_GPL(adau17x1_dai_ops); > > diff --git a/sound/soc/codecs/adau1977.c b/sound/soc/codecs/adau1977.c > index b42f35b1a6036..b9d9853934216 100644 > --- a/sound/soc/codecs/adau1977.c > +++ b/sound/soc/codecs/adau1977.c > @@ -741,6 +741,17 @@ static int adau1977_set_tristate(struct snd_soc_dai *dai, int tristate) > ADAU1977_SAI_OVERTEMP_DRV_HIZ, val); > } > > +static const u64 adau1977_selectable_formats = > + SND_SOC_POSSIBLE_DAIFMT_I2S | > + SND_SOC_POSSIBLE_DAIFMT_RIGHT_J | > + 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 adau1977_dai_ops = { > .startup = adau1977_startup, > .hw_params = adau1977_hw_params, > @@ -748,6 +759,8 @@ static const struct snd_soc_dai_ops adau1977_dai_ops = { > .set_fmt = adau1977_set_dai_fmt, > .set_tdm_slot = adau1977_set_tdm_slot, > .set_tristate = adau1977_set_tristate, > + .auto_selectable_formats = &adau1977_selectable_formats, > + .num_auto_selectable_formats = 1, > }; > > static struct snd_soc_dai_driver adau1977_dai = { > diff --git a/sound/soc/codecs/adau7118.c b/sound/soc/codecs/adau7118.c > index 5ddea63a6612c..9749299bc7f2a 100644 > --- a/sound/soc/codecs/adau7118.c > +++ b/sound/soc/codecs/adau7118.c > @@ -418,12 +418,24 @@ static int adau7118_component_probe(struct snd_soc_component *component) > return ret; > } > > +static const u64 adau7118_selectable_formats = > + SND_SOC_POSSIBLE_DAIFMT_I2S | > + SND_SOC_POSSIBLE_DAIFMT_RIGHT_J | > + SND_SOC_POSSIBLE_DAIFMT_LEFT_J | > + SND_SOC_POSSIBLE_DAIFMT_DSP_A | > + 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 adau7118_ops = { > .hw_params = adau7118_hw_params, > .set_channel_map = adau7118_set_channel_map, > .set_fmt = adau7118_set_fmt, > .set_tdm_slot = adau7118_set_tdm_slot, > .set_tristate = adau7118_set_tristate, > + .auto_selectable_formats = &adau7118_selectable_formats, > + .num_auto_selectable_formats = 1, > }; > > static struct snd_soc_dai_driver adau7118_dai = { > -- > 2.53.0 >