INT32 wmt_ctrl_crystal_triming_put(P_WMT_CTRL_DATA pWmtCtrlData) { WMT_DBG_FUNC("BF free patch, gDevWmt.pPatch(%p)\n", gDevWmt.pPatch); if (NULL != gDevWmt.pNvram) { wmt_dev_patch_put((osal_firmware **) &(gDevWmt.pNvram)); } WMT_DBG_FUNC("AF free patch, gDevWmt.pNvram(%p)\n", gDevWmt.pNvram); return 0; }
INT32 wmt_conf_read_file(VOID) { INT32 ret = -1; osal_memset(&gDevWmt.rWmtGenConf, 0, osal_sizeof(gDevWmt.rWmtGenConf)); osal_memset(&gDevWmt.pWmtCfg, 0, osal_sizeof(gDevWmt.pWmtCfg)); #if 1 osal_memset(&gDevWmt.cWmtcfgName[0], 0, osal_sizeof(gDevWmt.cWmtcfgName)); osal_strncat(&(gDevWmt.cWmtcfgName[0]), CUST_CFG_WMT_PREFIX, osal_sizeof(CUST_CFG_WMT_PREFIX)); osal_strncat(&(gDevWmt.cWmtcfgName[0]), CUST_CFG_WMT, osal_sizeof(CUST_CFG_WMT)); #endif if (!osal_strlen(&(gDevWmt.cWmtcfgName[0]))) { WMT_ERR_FUNC("empty Wmtcfg name\n"); osal_assert(0); return ret; } WMT_INFO_FUNC("WMT config file:%s\n", &(gDevWmt.cWmtcfgName[0])); if (0 == wmt_dev_patch_get(&gDevWmt.cWmtcfgName[0], (osal_firmware **) &gDevWmt.pWmtCfg, 0)) { /*get full name patch success */ WMT_INFO_FUNC("get full file name(%s) buf(0x%p) size(%d)\n", &gDevWmt.cWmtcfgName[0], gDevWmt.pWmtCfg->data, gDevWmt.pWmtCfg->size); if (0 == wmt_conf_parse(&gDevWmt, (const PINT8)gDevWmt.pWmtCfg->data, gDevWmt.pWmtCfg->size)) { /*config file exists */ gDevWmt.rWmtGenConf.cfgExist = 1; WMT_INFO_FUNC("&gDevWmt.rWmtGenConf=%p\n", &gDevWmt.rWmtGenConf); ret = 0; } else { WMT_ERR_FUNC("wmt conf parsing fail\n"); osal_assert(0); ret = -1; } wmt_dev_patch_put((osal_firmware **) &gDevWmt.pWmtCfg); /* if (gDevWmt.pWmtCfg) { if (gDevWmt.pWmtCfg->data) { osal_free(gDevWmt.pWmtCfg->data); } osal_free(gDevWmt.pWmtCfg); gDevWmt.pWmtCfg = 0; } */ return ret; } else { WMT_ERR_FUNC("read %s file fails\n", &(gDevWmt.cWmtcfgName[0])); osal_assert(0); gDevWmt.rWmtGenConf.cfgExist = 0; return ret; } }
INT32 wmt_ctrl_free_patch(P_WMT_CTRL_DATA pWmtCtrlData) { UINT32 patchSeq = pWmtCtrlData->au4CtrlData[0]; WMT_DBG_FUNC("BF free patch, gDevWmt.pPatch(%p)\n", gDevWmt.pPatch); if (NULL != gDevWmt.pPatch) { wmt_dev_patch_put((osal_firmware **) &(gDevWmt.pPatch)); } WMT_DBG_FUNC("AF free patch, gDevWmt.pPatch(%p)\n", gDevWmt.pPatch); if (patchSeq == gDevWmt.patchNum) { WMT_DBG_FUNC("the %d patch has been download\n", patchSeq); wmt_dev_patch_info_free(); } return 0; }