alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
From: mengdong.lin@linux.intel.com
To: alsa-devel@alsa-project.org, broonie@kernel.org
Cc: Mengdong Lin <mengdong.lin@linux.intel.com>,
	tiwai@suse.de, hardik.t.shah@intel.com,
	guneshwor.o.singh@intel.com, liam.r.girdwood@linux.intel.com,
	vinod.koul@intel.com, rakesh.a.ughreja@intel.com,
	mengdong.lin@intel.com
Subject: [PATCH v6 03/11] ASoC: topology: Support topology file of ABI v4
Date: Tue, 11 Oct 2016 14:37:15 +0800	[thread overview]
Message-ID: <2c645bd19c1bbc4a3f0546b9ef85aba6074bb358.1476166990.git.mengdong.lin@linux.intel.com> (raw)
In-Reply-To: <cover.1476166990.git.mengdong.lin@linux.intel.com>

From: Mengdong Lin <mengdong.lin@linux.intel.com>

Users start to use topology ABI from v4. ABI v5 updated existing manifest
and PCM elements. Two previous patches can support these ABI updates in a
backward compatible way. So if the topology file from user space is
generated by ABI v4, kernel will no longer quit but continue parsing.

Signed-off-by: Mengdong Lin <mengdong.lin@linux.intel.com>

diff --git a/include/uapi/sound/asoc.h b/include/uapi/sound/asoc.h
index 33d00a4..ed9090f 100644
--- a/include/uapi/sound/asoc.h
+++ b/include/uapi/sound/asoc.h
@@ -83,7 +83,8 @@
 #define SND_SOC_TPLG_NUM_TEXTS		16
 
 /* ABI version */
-#define SND_SOC_TPLG_ABI_VERSION	0x5
+#define SND_SOC_TPLG_ABI_VERSION	0x5	/* current version */
+#define SND_SOC_TPLG_ABI_VERSION_MIN	0x4	/* oldest version supported */
 
 /* Max size of TLV data */
 #define SND_SOC_TPLG_TLV_SIZE		32
diff --git a/sound/soc/soc-topology.c b/sound/soc/soc-topology.c
index 0f1c8eb..2f9b64e 100644
--- a/sound/soc/soc-topology.c
+++ b/sound/soc/soc-topology.c
@@ -2056,7 +2056,9 @@ static int soc_valid_header(struct soc_tplg *tplg,
 		return -EINVAL;
 	}
 
-	if (hdr->abi != SND_SOC_TPLG_ABI_VERSION) {
+	/* Support ABI from version 4 */
+	if (hdr->abi > SND_SOC_TPLG_ABI_VERSION
+		|| hdr->abi < SND_SOC_TPLG_ABI_VERSION_MIN) {
 		dev_err(tplg->dev,
 			"ASoC: pass %d invalid ABI version got 0x%x need 0x%x at offset 0x%lx size 0x%zx.\n",
 			tplg->pass, hdr->abi,
-- 
2.5.0

  parent reply	other threads:[~2016-10-11  6:36 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-11  6:33 [PATCH v6 00/11] ASoC: topology: Remaining kernel patches mengdong.lin
2016-10-11  6:36 ` [PATCH v6 01/11] ASoC: topology: Make manifest backward compatible from ABI v4 mengdong.lin
2016-10-28 18:47   ` Mark Brown
2016-11-01 13:49     ` Lin, Mengdong
2016-10-11  6:36 ` [PATCH v6 02/11] ASoC: topology: Make PCM " mengdong.lin
2016-10-28 18:51   ` Mark Brown
2016-11-01 14:02     ` Lin, Mengdong
2016-10-11  6:37 ` mengdong.lin [this message]
2016-10-11  6:37 ` [PATCH v6 04/11] ASoC: topology: ABI - Add flags and private data to PCM mengdong.lin
2016-10-29 18:43   ` Mark Brown
2016-11-02 17:13     ` Lin, Mengdong
2016-10-11  6:37 ` [PATCH v6 05/11] ASoC: topology: ABI - Define DAI physical PCM data formats mengdong.lin
2016-10-11  6:37 ` [PATCH v6 06/11] ASoC: topology: ABI - Update physical DAI link configuration for version 5 mengdong.lin
2016-10-11  6:37 ` [PATCH v6 07/11] ASoC: Define API to find a dai link mengdong.lin
2016-10-11  6:37 ` [PATCH v6 08/11] ASoC: topology: Add support to configure existing physical DAI links mengdong.lin
2016-10-11  6:38 ` [PATCH v6 09/11] ASoC: topology: Rename the function to create a FE link mengdong.lin
2016-10-11  6:38 ` [PATCH v6 10/11] ASoC: topology: ABI - Rename struct and type for physical DAIs mengdong.lin
2016-10-11  6:38 ` [PATCH v6 11/11] ASoC: topology: Rename functions & variables " mengdong.lin
2016-10-18  3:41 ` [PATCH v6 00/11] ASoC: topology: Remaining kernel patches Vinod Koul

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2c645bd19c1bbc4a3f0546b9ef85aba6074bb358.1476166990.git.mengdong.lin@linux.intel.com \
    --to=mengdong.lin@linux.intel.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=guneshwor.o.singh@intel.com \
    --cc=hardik.t.shah@intel.com \
    --cc=liam.r.girdwood@linux.intel.com \
    --cc=mengdong.lin@intel.com \
    --cc=rakesh.a.ughreja@intel.com \
    --cc=tiwai@suse.de \
    --cc=vinod.koul@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).