[Feature] Merge MR0.5 from MTK

Change-Id: I77f817d2d58dfa7a69b4af32123f2929c724356e
diff --git a/src/kernel/linux/v4.19/sound/soc/codecs/nau8810.c b/src/kernel/linux/v4.19/sound/soc/codecs/nau8810.c
index 7382b0d..58ad3bc 100644
--- a/src/kernel/linux/v4.19/sound/soc/codecs/nau8810.c
+++ b/src/kernel/linux/v4.19/sound/soc/codecs/nau8810.c
@@ -885,7 +885,7 @@
 	if(regmap_write(nau8810->regmap,NAU8810_REG_IFACE,0x0050))
 	{
 		printk("Not find nau8810 codec!\n");
-		return -ENXIO;//liulei
+		//return -ENXIO;
 	}
 	printk("Find nau8810 codec!\n");
 	nau8810_set_nau8810_config(nau8810->regmap);
diff --git a/src/kernel/linux/v4.19/sound/soc/codecs/tlv320aic3x.c b/src/kernel/linux/v4.19/sound/soc/codecs/tlv320aic3x.c
index 18aa478..d1c2d9b 100644
--- a/src/kernel/linux/v4.19/sound/soc/codecs/tlv320aic3x.c
+++ b/src/kernel/linux/v4.19/sound/soc/codecs/tlv320aic3x.c
@@ -1909,7 +1909,7 @@
 	if((ret = regmap_write(aic3x->regmap,1,0x0)))
 	{
 		printk("Not find tlv320aic3104 codec!\n");
-		//goto err_gpio;//liulei
+		goto err_gpio;
 	}
 	printk("Find tlv320aic3104 codec!\n");
 	regcache_cache_only(aic3x->regmap, true);
diff --git a/src/kernel/linux/v4.19/sound/soc/mediatek/mt6880/mt6880-mt6359.c b/src/kernel/linux/v4.19/sound/soc/mediatek/mt6880/mt6880-mt6359.c
index 23d5b03..56e4612 100644
--- a/src/kernel/linux/v4.19/sound/soc/mediatek/mt6880/mt6880-mt6359.c
+++ b/src/kernel/linux/v4.19/sound/soc/mediatek/mt6880/mt6880-mt6359.c
@@ -1088,9 +1088,18 @@
 	
 //tianyan@2021.8.2 modify for compatible codec tlv320aic3104 and add loopback test start
 #if defined(CONFIG_SND_SOC_NAU8810) || defined(CONFIG_SND_SOC_TLV320AIC3X)
+
+#ifdef CONFIG_SND_SOC_TLV320AIC3X
+	if(!mt6880_regmap)
+	{
+		mt6880_regmap = aic3x_get_aic3x_config();
+	}
+#endif
+
 #ifdef CONFIG_SND_SOC_NAU8810
 //tianyan@2021.7.16 modify for compatible codec tlv320aic3104 start
-	if((mt6880_regmap = nau8810_get_nau8810_config())){
+	if(!mt6880_regmap){
+		mt6880_regmap = nau8810_get_nau8810_config();
 		g_mt6880_codec_type = MT6880_CODEC_TYPE_NAU8810;
 		printk("change to codec nau8810\n");
 		for (i = 0; i < card->num_links; i++) {
@@ -1107,13 +1116,6 @@
 //tianyan@2021.7.16 modify for compatible codec tlv320aic3104 end
 #endif
 
-#ifdef CONFIG_SND_SOC_TLV320AIC3X
-	if(!mt6880_regmap)
-	{
-		mt6880_regmap = aic3x_get_aic3x_config();
-	}
-#endif
-
 	if(mt6880_regmap){
 		ret = alloc_chrdev_region(&devno,0,1,"mt6880_chdev_devno");
 		if(ret <0){