mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	Add missing cases to lpass_macro_get_codec_version_string() to let it
print the correct codec version for 1.x codec platforms.
Fixes: 378918d591 ("ASoC: codecs: lpass-macro: add helpers to get codec version")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://patch.msgid.link/20240803-codec-version-v1-1-bc29baa5e417@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
		
	
			
		
			
				
	
	
		
			76 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* SPDX-License-Identifier: GPL-2.0-only */
 | 
						|
/*
 | 
						|
 * Copyright (c) 2022, The Linux Foundation. All rights reserved.
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef __LPASS_MACRO_COMMON_H__
 | 
						|
#define __LPASS_MACRO_COMMON_H__
 | 
						|
 | 
						|
/* NPL clock is expected */
 | 
						|
#define LPASS_MACRO_FLAG_HAS_NPL_CLOCK		BIT(0)
 | 
						|
/* The soundwire block should be internally reset at probe */
 | 
						|
#define LPASS_MACRO_FLAG_RESET_SWR		BIT(1)
 | 
						|
 | 
						|
enum lpass_version {
 | 
						|
	LPASS_VER_9_0_0,
 | 
						|
	LPASS_VER_9_2_0,
 | 
						|
	LPASS_VER_10_0_0,
 | 
						|
	LPASS_VER_11_0_0,
 | 
						|
};
 | 
						|
 | 
						|
enum lpass_codec_version {
 | 
						|
	LPASS_CODEC_VERSION_UNKNOWN,
 | 
						|
	LPASS_CODEC_VERSION_1_0,
 | 
						|
	LPASS_CODEC_VERSION_1_1,
 | 
						|
	LPASS_CODEC_VERSION_1_2,
 | 
						|
	LPASS_CODEC_VERSION_2_0,
 | 
						|
	LPASS_CODEC_VERSION_2_1,
 | 
						|
	LPASS_CODEC_VERSION_2_5,
 | 
						|
	LPASS_CODEC_VERSION_2_6,
 | 
						|
	LPASS_CODEC_VERSION_2_7,
 | 
						|
	LPASS_CODEC_VERSION_2_8,
 | 
						|
};
 | 
						|
 | 
						|
struct lpass_macro {
 | 
						|
	struct device *macro_pd;
 | 
						|
	struct device *dcodec_pd;
 | 
						|
};
 | 
						|
 | 
						|
struct lpass_macro *lpass_macro_pds_init(struct device *dev);
 | 
						|
void lpass_macro_pds_exit(struct lpass_macro *pds);
 | 
						|
void lpass_macro_set_codec_version(enum lpass_codec_version version);
 | 
						|
enum lpass_codec_version lpass_macro_get_codec_version(void);
 | 
						|
 | 
						|
static inline void lpass_macro_pds_exit_action(void *pds)
 | 
						|
{
 | 
						|
	lpass_macro_pds_exit(pds);
 | 
						|
}
 | 
						|
 | 
						|
static inline const char *lpass_macro_get_codec_version_string(int version)
 | 
						|
{
 | 
						|
	switch (version) {
 | 
						|
	case LPASS_CODEC_VERSION_1_0:
 | 
						|
		return "v1.0";
 | 
						|
	case LPASS_CODEC_VERSION_1_1:
 | 
						|
		return "v1.1";
 | 
						|
	case LPASS_CODEC_VERSION_1_2:
 | 
						|
		return "v1.2";
 | 
						|
	case LPASS_CODEC_VERSION_2_0:
 | 
						|
		return "v2.0";
 | 
						|
	case LPASS_CODEC_VERSION_2_1:
 | 
						|
		return "v2.1";
 | 
						|
	case LPASS_CODEC_VERSION_2_5:
 | 
						|
		return "v2.5";
 | 
						|
	case LPASS_CODEC_VERSION_2_6:
 | 
						|
		return "v2.6";
 | 
						|
	case LPASS_CODEC_VERSION_2_7:
 | 
						|
		return "v2.7";
 | 
						|
	case LPASS_CODEC_VERSION_2_8:
 | 
						|
		return "v2.8";
 | 
						|
	default:
 | 
						|
		break;
 | 
						|
	}
 | 
						|
	return "NA";
 | 
						|
}
 | 
						|
 | 
						|
#endif /* __LPASS_MACRO_COMMON_H__ */
 |