Cuando el sistema de cámara de inicialización Linux controlador I2C

  
driver, lea las ov2655 Linux y no encontró ninguna función de inicialización del controlador i2c_add_driver I2C, pero define el static struct v4l2_i2c_driver_data v4l2_i2c_data = {.name = S5K4BA_DRIVER_NAME, .probe = ov2655_probe, .Remove = __devexit_p ( ov2655_remove), .id_table = ov2655_id,};

archivo de controlador de la cámara I2C funciones de inicialización relacionada hecho I2C se incluirá en el v4l2-I2C-drv.h donde # include < media /v4l2-I2C-drv.h >

este código de archivos es muy sencillo, I2C conducción inicializa como sigue: static int
__init v4l2_i2c_drv_init (void) {//v4l2_i2c_data en donde la unidad se define en la estructura mencionada en ov2655. v4l2_i2c_driver.driver.name = v4l2_i2c_data.name; v4l2_i2c_driver.command = v4l2_i2c_data.command; v4l2_i2c_driver.probe = v4l2_i2c_data.probe; v4l2_i2c_driver.remove = v4l2_i2c_data.remove; v4l2_i2c_driver.suspend = v4l2_i2c_data.suspend; v4l2_i2c_driver.resume = v4l2_i2c_data.resume; v4l2_i2c_driver.id_table = v4l2_i2c_data.id_table; volver i2c_add_driver (&v4l2_i2c_driver);} v4l2_i2c_drv_cleanup __exit static void (void) {i2c_del_driver (&v4l2_i2c_driver);} module_init (v4l2_i2c_drv_init); module_exit (v4l2_i2c_drv_cleanup);

Copyright © Conocimiento de Windows All Rights Reserved