diff options
Diffstat (limited to 'sound')
-rw-r--r-- | sound/soc/codecs/pcm1792a.c | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/sound/soc/codecs/pcm1792a.c b/sound/soc/codecs/pcm1792a.c index 3f83bf9895d4..2a8eccf64c76 100644 --- a/sound/soc/codecs/pcm1792a.c +++ b/sound/soc/codecs/pcm1792a.c @@ -154,6 +154,20 @@ static const struct snd_kcontrol_new pcm1792a_controls[] = { pcm1792a_dac_tlv), }; +static const struct snd_soc_dapm_widget pcm1792a_dapm_widgets[] = { +SND_SOC_DAPM_OUTPUT("IOUTL+"), +SND_SOC_DAPM_OUTPUT("IOUTL-"), +SND_SOC_DAPM_OUTPUT("IOUTR+"), +SND_SOC_DAPM_OUTPUT("IOUTR-"), +}; + +static const struct snd_soc_dapm_route pcm1792a_dapm_routes[] = { + { "IOUTL+", NULL, "Playback" }, + { "IOUTL-", NULL, "Playback" }, + { "IOUTR+", NULL, "Playback" }, + { "IOUTR-", NULL, "Playback" }, +}; + static struct snd_soc_dai_driver pcm1792a_dai = { .name = "pcm1792a-hifi", .playback = { @@ -162,20 +176,14 @@ static struct snd_soc_dai_driver pcm1792a_dai = { .channels_max = 2, .rates = PCM1792A_RATES, .formats = PCM1792A_FORMATS, }, - .capture = { - .channels_min = 0, - .channels_max = 0, - }, .ops = &pcm1792a_dai_ops, }; -#ifdef CONFIG_OF static const struct of_device_id pcm1792a_of_match[] = { { .compatible = "ti,pcm1792a", }, { } }; MODULE_DEVICE_TABLE(of, pcm1792a_of_match); -#endif static const struct regmap_config pcm1792a_regmap = { .reg_bits = 8, @@ -190,6 +198,10 @@ static const struct regmap_config pcm1792a_regmap = { static struct snd_soc_codec_driver soc_codec_dev_pcm1792a = { .controls = pcm1792a_controls, .num_controls = ARRAY_SIZE(pcm1792a_controls), + .dapm_widgets = pcm1792a_dapm_widgets, + .num_dapm_widgets = ARRAY_SIZE(pcm1792a_dapm_widgets), + .dapm_routes = pcm1792a_dapm_routes, + .num_dapm_routes = ARRAY_SIZE(pcm1792a_dapm_routes), }; static int pcm1792a_spi_probe(struct spi_device *spi) @@ -231,7 +243,7 @@ static struct spi_driver pcm1792a_codec_driver = { .driver = { .name = "pcm1792a", .owner = THIS_MODULE, - .of_match_table = pcm1792a_of_match, + .of_match_table = of_match_ptr(pcm1792a_of_match), }, .id_table = pcm1792a_spi_ids, .probe = pcm1792a_spi_probe, |