Kaynağa Gözat

qcacld-3.0: Remove ifdefs from __ol_transfer_bin_file

__ol_transfer_bin_file is overly complex because of
the ifdefs.

Change-Id: Ie758476b94561d4d67b0fe051c5a72035f2df0ec
CRs-Fixed: 1010214
Houston Hoffman 9 yıl önce
ebeveyn
işleme
0cde9662a9
2 değiştirilmiş dosya ile 28 ekleme ve 33 silme
  1. 12 0
      core/bmi/src/i_bmi.h
  2. 16 33
      core/bmi/src/ol_fw.c

+ 12 - 0
core/bmi/src/i_bmi.h

@@ -40,12 +40,24 @@
 #include "bmi.h"
 #include "ol_fw.h"
 
+#ifdef CONFIG_CNSS
+#define QCA_FIRMWARE_FILE		fw_files->image_file
+#define QCA_UTF_FIRMWARE_FILE		fw_files->utf_file
+#define QCA_BOARD_DATA_FILE		fw_files->board_data
+#define QCA_UTF_BOARD_DATA_FILE		fw_files->utf_board_data
+#define QCA_OTP_FILE			fw_files->otp_data
+#define QCA_SETUP_FILE			NULL
+#define QCA_FIRMWARE_EPPING_FILE	fw_files->epping_file
+#else
 #define QCA_FIRMWARE_FILE            "athwlan.bin"
 #define QCA_UTF_FIRMWARE_FILE        "utf.bin"
 #define QCA_BOARD_DATA_FILE          "fakeboar.bin"
+#define QCA_UTF_BOARD_DATA_FILE      "fakeboar.bin"
 #define QCA_OTP_FILE                 "otp.bin"
 #define QCA_SETUP_FILE               "athsetup.bin"
 #define QCA_FIRMWARE_EPPING_FILE     "epping.bin"
+#endif
+
 /*
  * Note that not all the register locations are accessible.
  * A list of accessible target registers are specified with

+ 16 - 33
core/bmi/src/ol_fw.c

@@ -141,6 +141,12 @@ end:
 #define SIGNED_SPLIT_BINARY_VALUE false
 #endif
 
+#ifdef CONFIG_CNSS
+#define CONFIG_CNSS_DEFINED true
+#else
+#define CONFIG_CNSS_DEFINED false
+#endif
+
 static int
 __ol_transfer_bin_file(struct ol_context *ol_ctx, ATH_BIN_FILE file,
 				  uint32_t address, bool compressed)
@@ -158,7 +164,9 @@ __ol_transfer_bin_file(struct ol_context *ol_ctx, ATH_BIN_FILE file,
 	struct hif_target_info *tgt_info = hif_get_target_info_handle(scn);
 	uint32_t target_type = tgt_info->target_type;
 #if defined(CONFIG_CNSS)
+	/* fw_files variable used in filename assignment macros */
 	struct bmi_info *bmi_ctx = GET_BMI_CONTEXT(ol_ctx);
+	struct cnss_fw_files *fw_files = &bmi_ctx->fw_files;
 #endif
 	qdf_device_t qdf_dev = ol_ctx->qdf_dev;
 
@@ -167,33 +175,21 @@ __ol_transfer_bin_file(struct ol_context *ol_ctx, ATH_BIN_FILE file,
 		BMI_ERR("%s: Unknown file type", __func__);
 		return -1;
 	case ATH_OTP_FILE:
-#if defined(CONFIG_CNSS)
-		filename = bmi_ctx->fw_files.otp_data;
-#else
 		filename = QCA_OTP_FILE;
-#endif
 		if (SIGNED_SPLIT_BINARY_VALUE)
 			bin_sign = true;
 
 		break;
 	case ATH_FIRMWARE_FILE:
 		if (QDF_IS_EPPING_ENABLED(cds_get_conparam())) {
-#if defined(CONFIG_CNSS)
-			filename = bmi_ctx->fw_files.epping_file;
-#else
 			filename = QCA_FIRMWARE_EPPING_FILE;
-#endif
 			BMI_INFO("%s: Loading epping firmware file %s",
 						__func__, filename);
 			break;
 		}
 #ifdef QCA_WIFI_FTM
 		if (cds_get_conparam() == QDF_GLOBAL_FTM_MODE) {
-#if defined(CONFIG_CNSS)
-			filename = bmi_ctx->fw_files.utf_file;
-#else
 			filename = QCA_UTF_FIRMWARE_FILE;
-#endif
 			if (SIGNED_SPLIT_BINARY_VALUE)
 				bin_sign = true;
 			BMI_INFO("%s: Loading firmware file %s",
@@ -201,11 +197,7 @@ __ol_transfer_bin_file(struct ol_context *ol_ctx, ATH_BIN_FILE file,
 			break;
 		}
 #endif
-#if defined(CONFIG_CNSS)
-		filename = bmi_ctx->fw_files.image_file;
-#else
 		filename = QCA_FIRMWARE_FILE;
-#endif
 		if (SIGNED_SPLIT_BINARY_VALUE)
 			bin_sign = true;
 		break;
@@ -213,13 +205,11 @@ __ol_transfer_bin_file(struct ol_context *ol_ctx, ATH_BIN_FILE file,
 		BMI_INFO("%s: no Patch file defined", __func__);
 		return 0;
 	case ATH_BOARD_DATA_FILE:
+
 #ifdef QCA_WIFI_FTM
 		if (cds_get_conparam() == QDF_GLOBAL_FTM_MODE) {
-#if defined(CONFIG_CNSS)
-			filename = bmi_ctx->fw_files.utf_board_data;
-#else
-			filename = QCA_BOARD_DATA_FILE;
-#endif
+			filename = QCA_UTF_BOARD_DATA_FILE;
+
 			if (SIGNED_SPLIT_BINARY_VALUE)
 				bin_sign = true;
 
@@ -228,22 +218,19 @@ __ol_transfer_bin_file(struct ol_context *ol_ctx, ATH_BIN_FILE file,
 			break;
 		}
 #endif /* QCA_WIFI_FTM */
-#if defined(CONFIG_CNSS)
-		filename = bmi_ctx->fw_files.board_data;
-#else
 		filename = QCA_BOARD_DATA_FILE;
-#endif
+
 		if (SIGNED_SPLIT_BINARY_VALUE)
 			bin_sign = false;
 
 		break;
 	case ATH_SETUP_FILE:
-		if (cds_get_conparam() != QDF_GLOBAL_FTM_MODE &&
-		    !QDF_IS_EPPING_ENABLED(cds_get_conparam())) {
-#ifdef CONFIG_CNSS
+		if (CONFIG_CNSS_DEFINED ||
+		    cds_get_conparam() == QDF_GLOBAL_FTM_MODE ||
+		    QDF_IS_EPPING_ENABLED(cds_get_conparam())) {
 			BMI_INFO("%s: no Setup file defined", __func__);
 			return -1;
-#else
+		} else {
 			filename = QCA_SETUP_FILE;
 
 			if (SIGNED_SPLIT_BINARY_VALUE)
@@ -251,10 +238,6 @@ __ol_transfer_bin_file(struct ol_context *ol_ctx, ATH_BIN_FILE file,
 
 			BMI_INFO("%s: Loading setup file %s",
 			       __func__, filename);
-#endif /* CONFIG_CNSS */
-		} else {
-			BMI_INFO("%s: no Setup file needed", __func__);
-			return -1;
 		}
 		break;
 	}