Exemplo n.º 1
0
static void get_md_postfix(int md_id, char k[], char buf[], char buf_ex[])
{
	// name format: modem_X_YY_K_Ex.img
	int X, Ex;
	char YY_K[IMG_POSTFIX_LEN];
	unsigned int feature_val = 0;

	if ((md_id<0) || (md_id>MAX_MD_NUM)) {
		CCCI_UTIL_ERR_MSG("wrong MD ID to get postfix %d\n", md_id);
		return;
	}

	// X
	X = md_id + 1;

	// YY_
	YY_K[0] = '\0';

	//#ifndef Flyme_EDIT
	//#[email protected] for load modem firmware by hardware info
	feature_val = mz_get_operator_type();
	CCCI_UTIL_INF_MSG("mz_get_operator_type = 0x%x\n",feature_val);
	if (IS_LWG(feature_val)){
		CCCI_UTIL_INF_MSG("modem type is china unicom\n");
		feature_val = modem_lwg;
	}else if (IS_LTG(feature_val)){
		CCCI_UTIL_INF_MSG("modem type is china mobile\n");
		feature_val = modem_ltg;
	}else {
		CCCI_UTIL_INF_MSG("modem type is public\n");
		switch(md_id) {
		case MD_SYS1:
			feature_val = get_modem_support_cap(MD_SYS1);
			break;
		case MD_SYS2:
			feature_val = get_modem_support_cap(MD_SYS2);
			break;
	  	case MD_SYS5:
	  		feature_val = get_modem_support_cap(MD_SYS5);
	  		break;
	  	default:
			CCCI_UTIL_ERR_MSG("request MD ID %d not supported\n", md_id);
	  		break;
		}
	}
	//#endif /*Flyme_EDIT*/
	if((feature_val==0) || (feature_val>=MAX_IMG_NUM)) {
  		CCCI_UTIL_ERR_MSG("request MD type %d not supported\n", feature_val);
  		feature_val = md_type_invalid;
	}

	// K
	if(k == NULL)
		snprintf(YY_K, IMG_POSTFIX_LEN, "_%s_n", type_str[feature_val]);
	else
		snprintf(YY_K, IMG_POSTFIX_LEN, "_%s_%s", type_str[feature_val], k);

	// [_Ex] Get chip version
#if 0
	if(get_chip_version() == CHIP_SW_VER_01)
		Ex = 1;
	else if(get_chip_version() == CHIP_SW_VER_02)
		Ex = 2;
#else
	Ex = 1;
#endif

	// Gen post fix
	if(buf) {
		snprintf(buf, IMG_POSTFIX_LEN, "%d%s", X, YY_K);
		CCCI_UTIL_INF_MSG("MD%d image postfix=%s\n", md_id+1, buf);
	}

	if(buf_ex) {
		snprintf(buf_ex, IMG_POSTFIX_LEN, "%d%s_E%d", X, YY_K, Ex);
		CCCI_UTIL_INF_MSG("MD%d image postfix=%s\n", md_id+1, buf_ex);
	}
}
static void get_md_postfix(int md_id, char k[], char buf[], char buf_ex[])
{
	/* name format: modem_X_YY_K_Ex.img */
	int X, Ex;
	char YY_K[IMG_POSTFIX_LEN];
	unsigned int feature_val = 0;

	if ((md_id < 0) || (md_id > MAX_MD_NUM)) {
		CCCI_UTIL_ERR_MSG_WITH_ID(md_id, "wrong MD ID to get postfix\n");
		return;
	}

	/* X */
	X = md_id + 1;

	/* YY_ */
	YY_K[0] = '\0';
	switch (md_id) {
	case MD_SYS1:
		feature_val = get_modem_support_cap(MD_SYS1);
		break;
	case MD_SYS2:
		feature_val = get_modem_support_cap(MD_SYS2);
		break;
	case MD_SYS5:
		feature_val = get_modem_support_cap(MD_SYS5);
		break;
	default:
		CCCI_UTIL_ERR_MSG_WITH_ID(md_id, "request MD ID %d not supported\n", md_id);
		break;
	}

	if ((feature_val == 0) || (feature_val >= MAX_IMG_NUM)) {
		CCCI_UTIL_ERR_MSG_WITH_ID(md_id, "request MD type %d not supported\n", feature_val);
		feature_val = md_type_invalid;
	}

	/* K */
	if (k == NULL)
		snprintf(YY_K, IMG_POSTFIX_LEN, "_%s_n", type_str[feature_val]);
	else
		snprintf(YY_K, IMG_POSTFIX_LEN, "_%s_%s", type_str[feature_val], k);

	/* [_Ex] Get chip version */
#if 0
	if (get_chip_version() == CHIP_SW_VER_01)
		Ex = 1;
	else if (get_chip_version() == CHIP_SW_VER_02)
		Ex = 2;
#else
	Ex = 1;
#endif

	/* Gen post fix */
	if (buf) {
		snprintf(buf, IMG_POSTFIX_LEN, "%d%s", X, YY_K);
		CCCI_UTIL_DBG_MSG_WITH_ID(md_id, "MD%d image postfix=%s\n", md_id + 1, buf);
	}

	if (buf_ex) {
		snprintf(buf_ex, IMG_POSTFIX_LEN, "%d%s_E%d", X, YY_K, Ex);
		CCCI_UTIL_DBG_MSG_WITH_ID(md_id, "MD%d image postfix=%s\n", md_id + 1, buf_ex);
	}
}