mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	ASoC: topology: Support topology file of ABI v4
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>
This commit is contained in:
		
							parent
							
								
									8f27c4abc2
								
							
						
					
					
						commit
						288b8da7e9
					
				
					 2 changed files with 5 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue