VOS_INT VOS_ModuleInit(VOS_VOID) { #ifdef BSP_CONFIG_HI3630 /* 如果是升级模式,则不启动VOS */ if(!is_load_modem()) { Print("update or charge mode, will not start vos.\r\n"); return 0; } #endif APP_VCOM_Init(); root(); RNIC_InitNetCard(); return 0; }
static int __init his_modem_probe(struct platform_device *pdev) { int ret = 0; #ifdef BSP_CONFIG_HI3630 u32 image_load_addr = 0; u32 image_length = 0; extern unsigned int is_load_modem(void); /* 如果是升级模式,则不激活modem */ if(!is_load_modem()) { hi_trace(HI_ERR, "upload or charge mode, will not start modem.\r\n"); return 0; } if (readl((void*)SHM_MEM_LOADM_ADDR) != LOAD_MODEM_OK_FLAG) { hi_trace(HI_ERR, "modem image not found\r\n"); return -1; } image_load_addr = readl((void*)SHM_MEM_LOADM_ADDR + 4); image_length = readl((void*)SHM_MEM_LOADM_ADDR + 8); g_ccore_entry = (u32)ioremap_nocache(image_load_addr, image_length); if(!g_ccore_entry) { hi_trace(HI_ERR, "ioremap failed. image size: 0x%X\r\n", image_length); return NAND_ERROR; } #else struct ST_PART_TBL * mc_part = NULL; hi_trace(HI_DEBUG, "his_modem_probe.\r\n"); mc_part = find_partition_by_name(PTABLE_VXWORKS_NM); if(NULL == mc_part) { hi_trace(HI_ERR, "load ccore image succeed\r\n"); return -EAGAIN; } if(NAND_OK == his_modem_load_vxworks(mc_part->name)) { hi_trace(HI_DEBUG, "load ccore image succeed\r\n"); } else { hi_trace(HI_ERR, "load ccore image failed\r\n"); return -EAGAIN; } ret = sysfs_create_group(&pdev->dev.kobj, &his_modem_group); if (0 != ret) { hi_trace(HI_ERR,"create his modem sys filesystem node failed.\n"); return -ENXIO; } #endif ret = his_modem_ipc_send(); if (ret) { hi_trace(HI_ERR, "load ccore image failed, ret=0x%x\r\n", ret); } else { hi_trace(HI_ERR, "load ccore image succeed\r\n"); } return ret; }