diff options
Diffstat (limited to 'sound/soc/pxa')
-rw-r--r-- | sound/soc/pxa/brownstone.c | 10 | ||||
-rw-r--r-- | sound/soc/pxa/corgi.c | 10 | ||||
-rw-r--r-- | sound/soc/pxa/e740_wm9705.c | 26 | ||||
-rw-r--r-- | sound/soc/pxa/e750_wm9705.c | 26 | ||||
-rw-r--r-- | sound/soc/pxa/e800_wm9712.c | 27 | ||||
-rw-r--r-- | sound/soc/pxa/em-x270.c | 20 | ||||
-rw-r--r-- | sound/soc/pxa/hx4700.c | 10 | ||||
-rw-r--r-- | sound/soc/pxa/imote2.c | 11 | ||||
-rw-r--r-- | sound/soc/pxa/magician.c | 22 | ||||
-rw-r--r-- | sound/soc/pxa/mioa701_wm9713.c | 34 | ||||
-rw-r--r-- | sound/soc/pxa/palm27x.c | 26 | ||||
-rw-r--r-- | sound/soc/pxa/poodle.c | 10 | ||||
-rw-r--r-- | sound/soc/pxa/pxa-ssp.h | 5 | ||||
-rw-r--r-- | sound/soc/pxa/pxa2xx-ac97.c | 8 | ||||
-rw-r--r-- | sound/soc/pxa/pxa2xx-i2s.h | 5 | ||||
-rw-r--r-- | sound/soc/pxa/pxa2xx-pcm.c | 5 | ||||
-rw-r--r-- | sound/soc/pxa/spitz.c | 10 | ||||
-rw-r--r-- | sound/soc/pxa/tosa.c | 20 | ||||
-rw-r--r-- | sound/soc/pxa/ttc-dkb.c | 10 | ||||
-rw-r--r-- | sound/soc/pxa/z2.c | 15 | ||||
-rw-r--r-- | sound/soc/pxa/zylonite.c | 30 |
21 files changed, 177 insertions, 163 deletions
diff --git a/sound/soc/pxa/brownstone.c b/sound/soc/pxa/brownstone.c index a7ce004561cb..53b1435ced3f 100644 --- a/sound/soc/pxa/brownstone.c +++ b/sound/soc/pxa/brownstone.c @@ -73,17 +73,19 @@ static const struct snd_soc_ops brownstone_ops = { .hw_params = brownstone_wm8994_hw_params, }; +SND_SOC_DAILINK_DEFS(wm8994, + DAILINK_COMP_ARRAY(COMP_CPU("mmp-sspa-dai.0")), + DAILINK_COMP_ARRAY(COMP_CODEC("wm8994-codec", "wm8994-aif1")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("mmp-pcm-audio"))); + static struct snd_soc_dai_link brownstone_wm8994_dai[] = { { .name = "WM8994", .stream_name = "WM8994 HiFi", - .cpu_dai_name = "mmp-sspa-dai.0", - .codec_dai_name = "wm8994-aif1", - .platform_name = "mmp-pcm-audio", - .codec_name = "wm8994-codec", .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBS_CFS, .ops = &brownstone_ops, + SND_SOC_DAILINK_REG(wm8994), }, }; diff --git a/sound/soc/pxa/corgi.c b/sound/soc/pxa/corgi.c index 85d9b5df7657..d81082323fb4 100644 --- a/sound/soc/pxa/corgi.c +++ b/sound/soc/pxa/corgi.c @@ -256,16 +256,18 @@ static const struct snd_kcontrol_new wm8731_corgi_controls[] = { }; /* corgi digital audio interface glue - connects codec <--> CPU */ +SND_SOC_DAILINK_DEFS(wm8731, + DAILINK_COMP_ARRAY(COMP_CPU("pxa2xx-i2s")), + DAILINK_COMP_ARRAY(COMP_CODEC("wm8731.0-001b", "wm8731-hifi")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("pxa-pcm-audio"))); + static struct snd_soc_dai_link corgi_dai = { .name = "WM8731", .stream_name = "WM8731", - .cpu_dai_name = "pxa2xx-i2s", - .codec_dai_name = "wm8731-hifi", - .platform_name = "pxa-pcm-audio", - .codec_name = "wm8731.0-001b", .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBS_CFS, .ops = &corgi_ops, + SND_SOC_DAILINK_REG(wm8731), }; /* corgi audio machine driver */ diff --git a/sound/soc/pxa/e740_wm9705.c b/sound/soc/pxa/e740_wm9705.c index 8ab7032631b7..eafa1482afbe 100644 --- a/sound/soc/pxa/e740_wm9705.c +++ b/sound/soc/pxa/e740_wm9705.c @@ -1,12 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0-only /* * e740-wm9705.c -- SoC audio for e740 * * Copyright 2007 (c) Ian Molton <spyro@f2s.com> - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; version 2 ONLY. - * */ #include <linux/module.h> @@ -84,22 +80,26 @@ static const struct snd_soc_dapm_route audio_map[] = { {"Mic Amp", NULL, "Mic (Internal)"}, }; +SND_SOC_DAILINK_DEFS(ac97, + DAILINK_COMP_ARRAY(COMP_CPU("pxa2xx-ac97")), + DAILINK_COMP_ARRAY(COMP_CODEC("wm9705-codec", "wm9705-hifi")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("pxa-pcm-audio"))); + +SND_SOC_DAILINK_DEFS(ac97_aux, + DAILINK_COMP_ARRAY(COMP_CPU("pxa2xx-ac97-aux")), + DAILINK_COMP_ARRAY(COMP_CODEC("wm9705-codec", "wm9705-aux")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("pxa-pcm-audio"))); + static struct snd_soc_dai_link e740_dai[] = { { .name = "AC97", .stream_name = "AC97 HiFi", - .cpu_dai_name = "pxa2xx-ac97", - .codec_dai_name = "wm9705-hifi", - .platform_name = "pxa-pcm-audio", - .codec_name = "wm9705-codec", + SND_SOC_DAILINK_REG(ac97), }, { .name = "AC97 Aux", .stream_name = "AC97 Aux", - .cpu_dai_name = "pxa2xx-ac97-aux", - .codec_dai_name = "wm9705-aux", - .platform_name = "pxa-pcm-audio", - .codec_name = "wm9705-codec", + SND_SOC_DAILINK_REG(ac97_aux), }, }; diff --git a/sound/soc/pxa/e750_wm9705.c b/sound/soc/pxa/e750_wm9705.c index 82bcbbb1841b..d75510d7b16b 100644 --- a/sound/soc/pxa/e750_wm9705.c +++ b/sound/soc/pxa/e750_wm9705.c @@ -1,12 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0-only /* * e750-wm9705.c -- SoC audio for e750 * * Copyright 2007 (c) Ian Molton <spyro@f2s.com> - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; version 2 ONLY. - * */ #include <linux/module.h> @@ -67,23 +63,27 @@ static const struct snd_soc_dapm_route audio_map[] = { {"MIC1", NULL, "Mic (Internal)"}, }; +SND_SOC_DAILINK_DEFS(ac97, + DAILINK_COMP_ARRAY(COMP_CPU("pxa2xx-ac97")), + DAILINK_COMP_ARRAY(COMP_CODEC("wm9705-codec", "wm9705-hifi")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("pxa-pcm-audio"))); + +SND_SOC_DAILINK_DEFS(ac97_aux, + DAILINK_COMP_ARRAY(COMP_CPU("pxa2xx-ac97-aux")), + DAILINK_COMP_ARRAY(COMP_CODEC("wm9705-codec", "wm9705-aux")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("pxa-pcm-audio"))); + static struct snd_soc_dai_link e750_dai[] = { { .name = "AC97", .stream_name = "AC97 HiFi", - .cpu_dai_name = "pxa2xx-ac97", - .codec_dai_name = "wm9705-hifi", - .platform_name = "pxa-pcm-audio", - .codec_name = "wm9705-codec", + SND_SOC_DAILINK_REG(ac97), /* use ops to check startup state */ }, { .name = "AC97 Aux", .stream_name = "AC97 Aux", - .cpu_dai_name = "pxa2xx-ac97-aux", - .codec_dai_name = "wm9705-aux", - .platform_name = "pxa-pcm-audio", - .codec_name = "wm9705-codec", + SND_SOC_DAILINK_REG(ac97_aux), }, }; diff --git a/sound/soc/pxa/e800_wm9712.c b/sound/soc/pxa/e800_wm9712.c index 1ed8aa2348f1..56d543da938a 100644 --- a/sound/soc/pxa/e800_wm9712.c +++ b/sound/soc/pxa/e800_wm9712.c @@ -1,12 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0-only /* * e800-wm9712.c -- SoC audio for e800 * * Copyright 2007 (c) Ian Molton <spyro@f2s.com> - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; version 2 ONLY. - * */ #include <linux/module.h> @@ -68,22 +64,27 @@ static const struct snd_soc_dapm_route audio_map[] = { {"MIC2", NULL, "Mic (Internal2)"}, }; + +SND_SOC_DAILINK_DEFS(ac97, + DAILINK_COMP_ARRAY(COMP_CPU("pxa2xx-ac97")), + DAILINK_COMP_ARRAY(COMP_CODEC("wm9712-codec", "wm9712-hifi")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("pxa-pcm-audio"))); + +SND_SOC_DAILINK_DEFS(ac97_aux, + DAILINK_COMP_ARRAY(COMP_CPU("pxa2xx-ac97-aux")), + DAILINK_COMP_ARRAY(COMP_CODEC("wm9712-codec", "wm9712-aux")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("pxa-pcm-audio"))); + static struct snd_soc_dai_link e800_dai[] = { { .name = "AC97", .stream_name = "AC97 HiFi", - .cpu_dai_name = "pxa2xx-ac97", - .codec_dai_name = "wm9712-hifi", - .platform_name = "pxa-pcm-audio", - .codec_name = "wm9712-codec", + SND_SOC_DAILINK_REG(ac97), }, { .name = "AC97 Aux", .stream_name = "AC97 Aux", - .cpu_dai_name = "pxa2xx-ac97-aux", - .codec_dai_name = "wm9712-aux", - .platform_name = "pxa-pcm-audio", - .codec_name = "wm9712-codec", + SND_SOC_DAILINK_REG(ac97_aux), }, }; diff --git a/sound/soc/pxa/em-x270.c b/sound/soc/pxa/em-x270.c index f23790bfde42..9076ea7e9339 100644 --- a/sound/soc/pxa/em-x270.c +++ b/sound/soc/pxa/em-x270.c @@ -25,22 +25,26 @@ #include <asm/mach-types.h> #include <mach/audio.h> +SND_SOC_DAILINK_DEFS(ac97, + DAILINK_COMP_ARRAY(COMP_CPU("pxa2xx-ac97")), + DAILINK_COMP_ARRAY(COMP_CODEC("wm9712-codec", "wm9712-hifi")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("pxa-pcm-audio"))); + +SND_SOC_DAILINK_DEFS(ac97_aux, + DAILINK_COMP_ARRAY(COMP_CPU("pxa2xx-ac97-aux")), + DAILINK_COMP_ARRAY(COMP_CODEC("wm9712-codec", "wm9712-aux")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("pxa-pcm-audio"))); + static struct snd_soc_dai_link em_x270_dai[] = { { .name = "AC97", .stream_name = "AC97 HiFi", - .cpu_dai_name = "pxa2xx-ac97", - .codec_dai_name = "wm9712-hifi", - .platform_name = "pxa-pcm-audio", - .codec_name = "wm9712-codec", + SND_SOC_DAILINK_REG(ac97), }, { .name = "AC97 Aux", .stream_name = "AC97 Aux", - .cpu_dai_name = "pxa2xx-ac97-aux", - .codec_dai_name = "wm9712-aux", - .platform_name = "pxa-pcm-audio", - .codec_name = "wm9712-codec", + SND_SOC_DAILINK_REG(ac97_aux), }, }; diff --git a/sound/soc/pxa/hx4700.c b/sound/soc/pxa/hx4700.c index 15befc4d2c2f..0139343dbcce 100644 --- a/sound/soc/pxa/hx4700.c +++ b/sound/soc/pxa/hx4700.c @@ -134,17 +134,19 @@ static int hx4700_ak4641_init(struct snd_soc_pcm_runtime *rtd) } /* hx4700 digital audio interface glue - connects codec <--> CPU */ +SND_SOC_DAILINK_DEFS(ak4641, + DAILINK_COMP_ARRAY(COMP_CPU("pxa2xx-i2s")), + DAILINK_COMP_ARRAY(COMP_CODEC("ak4641.0-0012", "ak4641-hifi")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("pxa-pcm-audio"))); + static struct snd_soc_dai_link hx4700_dai = { .name = "ak4641", .stream_name = "AK4641", - .cpu_dai_name = "pxa2xx-i2s", - .codec_dai_name = "ak4641-hifi", - .platform_name = "pxa-pcm-audio", - .codec_name = "ak4641.0-0012", .init = hx4700_ak4641_init, .dai_fmt = SND_SOC_DAIFMT_MSB | SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBS_CFS, .ops = &hx4700_ops, + SND_SOC_DAILINK_REG(ak4641), }; /* hx4700 audio machine driver */ diff --git a/sound/soc/pxa/imote2.c b/sound/soc/pxa/imote2.c index fd0fe42cbab0..514e17724fc3 100644 --- a/sound/soc/pxa/imote2.c +++ b/sound/soc/pxa/imote2.c @@ -47,16 +47,19 @@ static const struct snd_soc_ops imote2_asoc_ops = { .hw_params = imote2_asoc_hw_params, }; +SND_SOC_DAILINK_DEFS(wm8940, + DAILINK_COMP_ARRAY(COMP_CPU("pxa2xx-i2s")), + DAILINK_COMP_ARRAY(COMP_CODEC("wm8940-codec.0-0034", + "wm8940-hifi")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("pxa-pcm-audio"))); + static struct snd_soc_dai_link imote2_dai = { .name = "WM8940", .stream_name = "WM8940", - .cpu_dai_name = "pxa2xx-i2s", - .codec_dai_name = "wm8940-hifi", - .platform_name = "pxa-pcm-audio", - .codec_name = "wm8940-codec.0-0034", .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBS_CFS, .ops = &imote2_asoc_ops, + SND_SOC_DAILINK_REG(wm8940), }; static struct snd_soc_card imote2 = { diff --git a/sound/soc/pxa/magician.c b/sound/soc/pxa/magician.c index 7236e67861f2..6483cff5b73d 100644 --- a/sound/soc/pxa/magician.c +++ b/sound/soc/pxa/magician.c @@ -285,24 +285,30 @@ static const struct snd_kcontrol_new uda1380_magician_controls[] = { }; /* magician digital audio interface glue - connects codec <--> CPU */ +SND_SOC_DAILINK_DEFS(playback, + DAILINK_COMP_ARRAY(COMP_CPU("pxa-ssp-dai.0")), + DAILINK_COMP_ARRAY(COMP_CODEC("uda1380-codec.0-0018", + "uda1380-hifi-playback")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("pxa-pcm-audio"))); + +SND_SOC_DAILINK_DEFS(capture, + DAILINK_COMP_ARRAY(COMP_CPU("pxa2xx-i2s")), + DAILINK_COMP_ARRAY(COMP_CODEC("uda1380-codec.0-0018", + "uda1380-hifi-capture")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("pxa-pcm-audio"))); + static struct snd_soc_dai_link magician_dai[] = { { .name = "uda1380", .stream_name = "UDA1380 Playback", - .cpu_dai_name = "pxa-ssp-dai.0", - .codec_dai_name = "uda1380-hifi-playback", - .platform_name = "pxa-pcm-audio", - .codec_name = "uda1380-codec.0-0018", .ops = &magician_playback_ops, + SND_SOC_DAILINK_REG(playback), }, { .name = "uda1380", .stream_name = "UDA1380 Capture", - .cpu_dai_name = "pxa2xx-i2s", - .codec_dai_name = "uda1380-hifi-capture", - .platform_name = "pxa-pcm-audio", - .codec_name = "uda1380-codec.0-0018", .ops = &magician_capture_ops, + SND_SOC_DAILINK_REG(capture), } }; diff --git a/sound/soc/pxa/mioa701_wm9713.c b/sound/soc/pxa/mioa701_wm9713.c index 47052fe3f5f4..129eb5251a5f 100644 --- a/sound/soc/pxa/mioa701_wm9713.c +++ b/sound/soc/pxa/mioa701_wm9713.c @@ -1,21 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0-only /* * Handles the Mitac mioa701 SoC system * * Copyright (C) 2008 Robert Jarzmik * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation in version 2 of the License. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * * This is a little schema of the sound interconnections : * * Sagem X200 Wolfson WM9713 @@ -142,25 +130,29 @@ static int mioa701_wm9713_init(struct snd_soc_pcm_runtime *rtd) static struct snd_soc_ops mioa701_ops; +SND_SOC_DAILINK_DEFS(ac97, + DAILINK_COMP_ARRAY(COMP_CPU("pxa2xx-ac97")), + DAILINK_COMP_ARRAY(COMP_CODEC("wm9713-codec", "wm9713-hifi")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("pxa-pcm-audio"))); + +SND_SOC_DAILINK_DEFS(ac97_aux, + DAILINK_COMP_ARRAY(COMP_CPU("pxa2xx-ac97-aux")), + DAILINK_COMP_ARRAY(COMP_CODEC("wm9713-codec", "wm9713-aux")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("pxa-pcm-audio"))); + static struct snd_soc_dai_link mioa701_dai[] = { { .name = "AC97", .stream_name = "AC97 HiFi", - .cpu_dai_name = "pxa2xx-ac97", - .codec_dai_name = "wm9713-hifi", - .codec_name = "wm9713-codec", .init = mioa701_wm9713_init, - .platform_name = "pxa-pcm-audio", .ops = &mioa701_ops, + SND_SOC_DAILINK_REG(ac97), }, { .name = "AC97 Aux", .stream_name = "AC97 Aux", - .cpu_dai_name = "pxa2xx-ac97-aux", - .codec_dai_name = "wm9713-aux", - .codec_name = "wm9713-codec", - .platform_name = "pxa-pcm-audio", .ops = &mioa701_ops, + SND_SOC_DAILINK_REG(ac97_aux), }, }; diff --git a/sound/soc/pxa/palm27x.c b/sound/soc/pxa/palm27x.c index 97167048572d..b92ea1a0453f 100644 --- a/sound/soc/pxa/palm27x.c +++ b/sound/soc/pxa/palm27x.c @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: GPL-2.0-only /* * linux/sound/soc/pxa/palm27x.c * @@ -6,11 +7,6 @@ * based on tosa.c * * Copyright (C) 2008 Marek Vasut <marek.vasut@gmail.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * */ #include <linux/module.h> @@ -87,23 +83,27 @@ static int palm27x_ac97_init(struct snd_soc_pcm_runtime *rtd) return err; } +SND_SOC_DAILINK_DEFS(hifi, + DAILINK_COMP_ARRAY(COMP_CPU("pxa2xx-ac97")), + DAILINK_COMP_ARRAY(COMP_CODEC("wm9712-codec", "wm9712-hifi")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("pxa-pcm-audio"))); + +SND_SOC_DAILINK_DEFS(aux, + DAILINK_COMP_ARRAY(COMP_CPU("pxa2xx-ac97-aux")), + DAILINK_COMP_ARRAY(COMP_CODEC("wm9712-codec", "wm9712-aux")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("pxa-pcm-audio"))); + static struct snd_soc_dai_link palm27x_dai[] = { { .name = "AC97 HiFi", .stream_name = "AC97 HiFi", - .cpu_dai_name = "pxa2xx-ac97", - .codec_dai_name = "wm9712-hifi", - .codec_name = "wm9712-codec", - .platform_name = "pxa-pcm-audio", .init = palm27x_ac97_init, + SND_SOC_DAILINK_REG(hifi), }, { .name = "AC97 Aux", .stream_name = "AC97 Aux", - .cpu_dai_name = "pxa2xx-ac97-aux", - .codec_dai_name = "wm9712-aux", - .codec_name = "wm9712-codec", - .platform_name = "pxa-pcm-audio", + SND_SOC_DAILINK_REG(aux), }, }; diff --git a/sound/soc/pxa/poodle.c b/sound/soc/pxa/poodle.c index 33aec947cf09..48d5c2252b10 100644 --- a/sound/soc/pxa/poodle.c +++ b/sound/soc/pxa/poodle.c @@ -219,16 +219,18 @@ static const struct snd_kcontrol_new wm8731_poodle_controls[] = { }; /* poodle digital audio interface glue - connects codec <--> CPU */ +SND_SOC_DAILINK_DEFS(wm8731, + DAILINK_COMP_ARRAY(COMP_CPU("pxa2xx-i2s")), + DAILINK_COMP_ARRAY(COMP_CODEC("wm8731.0-001b", "wm8731-hifi")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("pxa-pcm-audio"))); + static struct snd_soc_dai_link poodle_dai = { .name = "WM8731", .stream_name = "WM8731", - .cpu_dai_name = "pxa2xx-i2s", - .codec_dai_name = "wm8731-hifi", - .platform_name = "pxa-pcm-audio", - .codec_name = "wm8731.0-001b", .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBS_CFS, .ops = &poodle_ops, + SND_SOC_DAILINK_REG(wm8731), }; /* poodle audio machine driver */ diff --git a/sound/soc/pxa/pxa-ssp.h b/sound/soc/pxa/pxa-ssp.h index abf6ec080258..d3b05109dff1 100644 --- a/sound/soc/pxa/pxa-ssp.h +++ b/sound/soc/pxa/pxa-ssp.h @@ -1,9 +1,6 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ /* * ASoC PXA SSP port support - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. */ #ifndef _PXA_SSP_H diff --git a/sound/soc/pxa/pxa2xx-ac97.c b/sound/soc/pxa/pxa2xx-ac97.c index f8a3aa6c6d4e..bf28187315db 100644 --- a/sound/soc/pxa/pxa2xx-ac97.c +++ b/sound/soc/pxa/pxa2xx-ac97.c @@ -1,13 +1,10 @@ +// SPDX-License-Identifier: GPL-2.0-only /* * linux/sound/pxa2xx-ac97.c -- AC97 support for the Intel PXA2xx chip. * * Author: Nicolas Pitre * Created: Dec 02, 2004 * Copyright: MontaVista Software Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. */ #include <linux/init.h> @@ -253,7 +250,7 @@ static int pxa2xx_ac97_dev_probe(struct platform_device *pdev) * driver to do interesting things with the clocking to get us up * and running. */ - return snd_soc_register_component(&pdev->dev, &pxa_ac97_component, + return devm_snd_soc_register_component(&pdev->dev, &pxa_ac97_component, pxa_ac97_dai_driver, ARRAY_SIZE(pxa_ac97_dai_driver)); } @@ -261,7 +258,6 @@ static int pxa2xx_ac97_dev_remove(struct platform_device *pdev) { struct ac97_controller *ctrl = platform_get_drvdata(pdev); - snd_soc_unregister_component(&pdev->dev); snd_ac97_controller_unregister(ctrl); pxa2xx_ac97_hw_remove(pdev); return 0; diff --git a/sound/soc/pxa/pxa2xx-i2s.h b/sound/soc/pxa/pxa2xx-i2s.h index 7e218e2105a9..263568d44544 100644 --- a/sound/soc/pxa/pxa2xx-i2s.h +++ b/sound/soc/pxa/pxa2xx-i2s.h @@ -1,9 +1,6 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ /* * linux/sound/soc/pxa/pxa2xx-i2s.h - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. */ #ifndef _PXA2XX_I2S_H diff --git a/sound/soc/pxa/pxa2xx-pcm.c b/sound/soc/pxa/pxa2xx-pcm.c index 72eaaef1b426..74b56fa0870f 100644 --- a/sound/soc/pxa/pxa2xx-pcm.c +++ b/sound/soc/pxa/pxa2xx-pcm.c @@ -1,13 +1,10 @@ +// SPDX-License-Identifier: GPL-2.0-only /* * linux/sound/arm/pxa2xx-pcm.c -- ALSA PCM interface for the Intel PXA2xx chip * * Author: Nicolas Pitre * Created: Nov 30, 2004 * Copyright: (C) 2004 MontaVista Software, Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. */ #include <linux/dma-mapping.h> diff --git a/sound/soc/pxa/spitz.c b/sound/soc/pxa/spitz.c index 313b0211a9bb..f7babffb7228 100644 --- a/sound/soc/pxa/spitz.c +++ b/sound/soc/pxa/spitz.c @@ -252,16 +252,18 @@ static const struct snd_kcontrol_new wm8750_spitz_controls[] = { }; /* spitz digital audio interface glue - connects codec <--> CPU */ +SND_SOC_DAILINK_DEFS(wm8750, + DAILINK_COMP_ARRAY(COMP_CPU("pxa2xx-i2s")), + DAILINK_COMP_ARRAY(COMP_CODEC("wm8750.0-001b", "wm8750-hifi")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("pxa-pcm-audio"))); + static struct snd_soc_dai_link spitz_dai = { .name = "wm8750", .stream_name = "WM8750", - .cpu_dai_name = "pxa2xx-i2s", - .codec_dai_name = "wm8750-hifi", - .platform_name = "pxa-pcm-audio", - .codec_name = "wm8750.0-001b", .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBS_CFS, .ops = &spitz_ops, + SND_SOC_DAILINK_REG(wm8750), }; /* spitz audio machine driver */ diff --git a/sound/soc/pxa/tosa.c b/sound/soc/pxa/tosa.c index 8b0df330b487..b429db25f884 100644 --- a/sound/soc/pxa/tosa.c +++ b/sound/soc/pxa/tosa.c @@ -177,24 +177,28 @@ static const struct snd_kcontrol_new tosa_controls[] = { tosa_set_spk), }; +SND_SOC_DAILINK_DEFS(ac97, + DAILINK_COMP_ARRAY(COMP_CPU("pxa2xx-ac97")), + DAILINK_COMP_ARRAY(COMP_CODEC("wm9712-codec", "wm9712-hifi")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("pxa-pcm-audio"))); + +SND_SOC_DAILINK_DEFS(ac97_aux, + DAILINK_COMP_ARRAY(COMP_CPU("pxa2xx-ac97-aux")), + DAILINK_COMP_ARRAY(COMP_CODEC("wm9712-codec", "wm9712-aux")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("pxa-pcm-audio"))); + static struct snd_soc_dai_link tosa_dai[] = { { .name = "AC97", .stream_name = "AC97 HiFi", - .cpu_dai_name = "pxa2xx-ac97", - .codec_dai_name = "wm9712-hifi", - .platform_name = "pxa-pcm-audio", - .codec_name = "wm9712-codec", .ops = &tosa_ops, + SND_SOC_DAILINK_REG(ac97), }, { .name = "AC97 Aux", .stream_name = "AC97 Aux", - .cpu_dai_name = "pxa2xx-ac97-aux", - .codec_dai_name = "wm9712-aux", - .platform_name = "pxa-pcm-audio", - .codec_name = "wm9712-codec", .ops = &tosa_ops, + SND_SOC_DAILINK_REG(ac97_aux), }, }; diff --git a/sound/soc/pxa/ttc-dkb.c b/sound/soc/pxa/ttc-dkb.c index 6f318abaaaac..d8f79e2266b1 100644 --- a/sound/soc/pxa/ttc-dkb.c +++ b/sound/soc/pxa/ttc-dkb.c @@ -80,17 +80,19 @@ static int ttc_pm860x_init(struct snd_soc_pcm_runtime *rtd) } /* ttc/td-dkb digital audio interface glue - connects codec <--> CPU */ +SND_SOC_DAILINK_DEFS(i2s, + DAILINK_COMP_ARRAY(COMP_CPU("pxa-ssp-dai.1")), + DAILINK_COMP_ARRAY(COMP_CODEC("88pm860x-codec", "88pm860x-i2s")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("mmp-pcm-audio"))); + static struct snd_soc_dai_link ttc_pm860x_hifi_dai[] = { { .name = "88pm860x i2s", .stream_name = "audio playback", - .codec_name = "88pm860x-codec", - .platform_name = "mmp-pcm-audio", - .cpu_dai_name = "pxa-ssp-dai.1", - .codec_dai_name = "88pm860x-i2s", .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBM_CFM, .init = ttc_pm860x_init, + SND_SOC_DAILINK_REG(i2s), }, }; diff --git a/sound/soc/pxa/z2.c b/sound/soc/pxa/z2.c index 5b0eccd2b4dd..f9a33cb36f5b 100644 --- a/sound/soc/pxa/z2.c +++ b/sound/soc/pxa/z2.c @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: GPL-2.0-only /* * linux/sound/soc/pxa/z2.c * @@ -5,10 +6,6 @@ * * Copyright (C) 2009 Ken McGuire <kenm@desertweyr.com> * Copyright (C) 2010 Marek Vasut <marek.vasut@gmail.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. */ #include <linux/module.h> @@ -157,17 +154,19 @@ static const struct snd_soc_ops z2_ops = { }; /* z2 digital audio interface glue - connects codec <--> CPU */ +SND_SOC_DAILINK_DEFS(wm8750, + DAILINK_COMP_ARRAY(COMP_CPU("pxa2xx-i2s")), + DAILINK_COMP_ARRAY(COMP_CODEC("wm8750.0-001b", "wm8750-hifi")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("pxa-pcm-audio"))); + static struct snd_soc_dai_link z2_dai = { .name = "wm8750", .stream_name = "WM8750", - .cpu_dai_name = "pxa2xx-i2s", - .codec_dai_name = "wm8750-hifi", - .platform_name = "pxa-pcm-audio", - .codec_name = "wm8750.0-001b", .init = z2_wm8750_init, .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBS_CFS, .ops = &z2_ops, + SND_SOC_DAILINK_REG(wm8750), }; /* z2 audio machine driver */ diff --git a/sound/soc/pxa/zylonite.c b/sound/soc/pxa/zylonite.c index 0f6cb195313c..567dc133ea92 100644 --- a/sound/soc/pxa/zylonite.c +++ b/sound/soc/pxa/zylonite.c @@ -122,34 +122,40 @@ static const struct snd_soc_ops zylonite_voice_ops = { .hw_params = zylonite_voice_hw_params, }; +SND_SOC_DAILINK_DEFS(ac97, + DAILINK_COMP_ARRAY(COMP_CPU("pxa2xx-ac97")), + DAILINK_COMP_ARRAY(COMP_CODEC("wm9713-codec", "wm9713-hifi")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("pxa-pcm-audio"))); + +SND_SOC_DAILINK_DEFS(ac97_aux, + DAILINK_COMP_ARRAY(COMP_CPU("pxa2xx-ac97-aux")), + DAILINK_COMP_ARRAY(COMP_CODEC("wm9713-codec", "wm9713-aux")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("pxa-pcm-audio"))); + +SND_SOC_DAILINK_DEFS(voice, + DAILINK_COMP_ARRAY(COMP_CPU("pxa-ssp-dai.2")), + DAILINK_COMP_ARRAY(COMP_CODEC("wm9713-codec", "wm9713-voice")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("pxa-pcm-audio"))); + static struct snd_soc_dai_link zylonite_dai[] = { { .name = "AC97", .stream_name = "AC97 HiFi", - .codec_name = "wm9713-codec", - .platform_name = "pxa-pcm-audio", - .cpu_dai_name = "pxa2xx-ac97", - .codec_dai_name = "wm9713-hifi", .init = zylonite_wm9713_init, + SND_SOC_DAILINK_REG(ac97), }, { .name = "AC97 Aux", .stream_name = "AC97 Aux", - .codec_name = "wm9713-codec", - .platform_name = "pxa-pcm-audio", - .cpu_dai_name = "pxa2xx-ac97-aux", - .codec_dai_name = "wm9713-aux", + SND_SOC_DAILINK_REG(ac97_aux), }, { .name = "WM9713 Voice", .stream_name = "WM9713 Voice", - .codec_name = "wm9713-codec", - .platform_name = "pxa-pcm-audio", - .cpu_dai_name = "pxa-ssp-dai.2", - .codec_dai_name = "wm9713-voice", .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBS_CFS, .ops = &zylonite_voice_ops, + SND_SOC_DAILINK_REG(voice), }, }; |