Пример #1
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 );

    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;
}