mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-16 07:24:39 +08:00
ASoC: codecs: ad193x: Remove capture support for codecs without ADC
Some ad193x codecs don't have ADCs, so they have no capture capabilities. This way, we can use this driver in multicodec cards. Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@microchip.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
cb8cdb6f33
commit
7aac8d13fc
@ -351,6 +351,20 @@ static struct snd_soc_dai_driver ad193x_dai = {
|
||||
.ops = &ad193x_dai_ops,
|
||||
};
|
||||
|
||||
/* codec DAI instance for DAC only */
|
||||
static struct snd_soc_dai_driver ad193x_no_adc_dai = {
|
||||
.name = "ad193x-hifi",
|
||||
.playback = {
|
||||
.stream_name = "Playback",
|
||||
.channels_min = 2,
|
||||
.channels_max = 8,
|
||||
.rates = SNDRV_PCM_RATE_48000,
|
||||
.formats = SNDRV_PCM_FMTBIT_S32_LE | SNDRV_PCM_FMTBIT_S16_LE |
|
||||
SNDRV_PCM_FMTBIT_S20_3LE | SNDRV_PCM_FMTBIT_S24_LE,
|
||||
},
|
||||
.ops = &ad193x_dai_ops,
|
||||
};
|
||||
|
||||
static int ad193x_component_probe(struct snd_soc_component *component)
|
||||
{
|
||||
struct ad193x_priv *ad193x = snd_soc_component_get_drvdata(component);
|
||||
@ -444,8 +458,11 @@ int ad193x_probe(struct device *dev, struct regmap *regmap,
|
||||
|
||||
dev_set_drvdata(dev, ad193x);
|
||||
|
||||
if (ad193x_has_adc(ad193x))
|
||||
return devm_snd_soc_register_component(dev, &soc_component_dev_ad193x,
|
||||
&ad193x_dai, 1);
|
||||
return devm_snd_soc_register_component(dev, &soc_component_dev_ad193x,
|
||||
&ad193x_dai, 1);
|
||||
&ad193x_no_adc_dai, 1);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(ad193x_probe);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user