static int __devinit CamacqCoreProbe( struct i2c_client *pClient, const struct i2c_device_id * d ) { int iRet; _stCamacqSensor* pstSensor = g_pstCamacqSensorManager->GetSensor( g_pstCamacqSensorManager, g_pstCamacqSensorManager->m_uiSelectedSensor ); CamacqTraceIN(); // 0. set up i2c client pstSensor->m_pI2cClient = pClient; CamacqTraceDbg( "pClient : %x, name : %s", (U32)pClient, pClient->name ); // 1. detect sensor iRet = pstSensor->m_pstAPIs->Detect( pstSensor ); if( iRet ) { CamacqTraceErr( " : fail to detect sensor !!!!!" ); iRet = -ENODEV; } else { CamacqTraceDbg( " : success to detect sensor !!!!!" ); } CamacqTraceOUT(); return 0; }
static int __devinit CamacqCoreProbe( struct i2c_client *pClient, const struct i2c_device_id * d ) { int iRet; _stCamacqSensor* pstSensor = g_pstCamacqSensorManager->GetSensor( g_pstCamacqSensorManager, g_pstCamacqSensorManager->m_uiSelectedSensor ); int retry = 0; CamacqTraceIN(); // 0. set up i2c client pstSensor->m_pI2cClient = pClient; CamacqTraceDbg( "pClient : %x, name : %s", (U32)pClient, pClient->name ); LABEL_RETRY: // #if (CAMACQ_MAIN_FS_MODE == 0) // 1. detect sensor iRet = pstSensor->m_pstAPIs->Detect( pstSensor ); if( iRet ) { CamacqTraceErr( " : fail to detect sensor !!!!!" ); #ifdef _CAM_DEBUG_V4L2OPEN_ g_cam_cdev.detect_fail++; #endif retry++; if (retry < 10) { goto LABEL_RETRY; } //force_v4l2_unregister(); iRet = -ENODEV; } else { CamacqTraceDbg( " : success to detect sensor !!!!!" ); } // #endif CamacqTraceOUT(); return 0; }