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>
Signed-off-by: Mark Brown <broonie@kernel.org>
 #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
 
                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,