void setDefaultBootline(void) { memset(nvramData.szBootline, 0, NVRAM_BOOTLINE_LEN); strncpy(nvramData.szBootline, DEFAULT_BOOTLINE_6345, strlen(DEFAULT_BOOTLINE_6345)); printf("Use default boot line parameters: %s\n", DEFAULT_BOOTLINE_6345); writeNvramData(); readNvramData(); convertBootInfo(); }
int NvramDrv::readNvram( CAMERA_DUAL_CAMERA_SENSOR_ENUM a_eSensorType, unsigned long a_u4SensorID, CAMERA_DATA_TYPE_ENUM a_eNvramDataType, void *a_pNvramData, unsigned long a_u4NvramDataSize ) { int err = NVRAM_NO_ERROR; NVRAM_DRV_LOG("[readNvram] sensor type = %d; NVRAM data type = %d\n", a_eSensorType, a_eNvramDataType); if ((a_eSensorType > DUAL_CAMERA_MAIN_SECOND_SENSOR) || (a_eSensorType < DUAL_CAMERA_MAIN_SENSOR) || //(a_eNvramDataType > CAMERA_DATA_AE_PLINETABLE) || (a_eNvramDataType >= CAMERA_DATA_TYPE_NUM) || (a_eNvramDataType < CAMERA_NVRAM_DATA_ISP) || (a_pNvramData == NULL) || (a_u4NvramDataSize != g_u4NvramDataSize[a_eNvramDataType])) { NVRAM_DRV_LOG("[readNvram] error: line=%d",__LINE__); return NVRAM_READ_PARAMETER_ERROR; } Mutex::Autolock lock(mLock); switch(a_eNvramDataType) { case CAMERA_NVRAM_DATA_ISP: case CAMERA_NVRAM_DATA_3A: case CAMERA_NVRAM_DATA_SHADING: case CAMERA_NVRAM_DATA_LENS: case CAMERA_NVRAM_DATA_STROBE: err = readNvramData(a_eSensorType, a_eNvramDataType, a_pNvramData); if (err != NVRAM_NO_ERROR) { NVRAM_DRV_ERR("readNvramData() error: ==> readDefaultData()\n"); int para1; if(a_eNvramDataType==CAMERA_NVRAM_DATA_STROBE) para1=a_eSensorType; else para1=a_u4SensorID; err = readDefaultData(para1, a_eNvramDataType, a_pNvramData); if (err != NVRAM_NO_ERROR) { NVRAM_DRV_ERR("readDefaultData() error:\n"); } break; } if (checkDataVersion(a_eNvramDataType, a_pNvramData) != NVRAM_NO_ERROR) { int para1; if(a_eNvramDataType==CAMERA_NVRAM_DATA_STROBE) para1=a_eSensorType; else para1=a_u4SensorID; err = readDefaultData(para1, a_eNvramDataType, a_pNvramData); if (err != NVRAM_NO_ERROR) { NVRAM_DRV_ERR("readDefaultData() error:\n"); } } break; case CAMERA_DATA_AE_PLINETABLE: err = readDefaultData(a_u4SensorID, a_eNvramDataType, a_pNvramData); if (err != NVRAM_NO_ERROR) { NVRAM_DRV_ERR("readDefaultData() AE Pline table error:\n"); } break; default: break; } return err; }