打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
linux系统初始化摄像头I2C驱动
阅读linux的ov2655的驱动程序时,并没有发现I2C驱动的初始化函数i2c_add_driver,只是定义了
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,};

其实相关I2C初始化函数在v4l2-i2c-drv.h里I2C摄像头驱动程序都会包含该文件#include <media/v4l2-i2c-drv.h>

该文件代码很简单,I2C驱动初始化如下:
 

static int __init v4l2_i2c_drv_init(void){    //其中的v4l2_i2c_data就是前面提到的在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;    return i2c_add_driver(&v4l2_i2c_driver);}static void __exit v4l2_i2c_drv_cleanup(void){    i2c_del_driver(&v4l2_i2c_driver);}module_init(v4l2_i2c_drv_init);module_exit(v4l2_i2c_drv_cleanup);
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
字符设备驱动之LED-平台设备驱动(platform设备驱动)
linux platform 驱动模型分析 (转)
驱动注册platform_driver(一)
Linux设备驱动简析--dm9000网卡驱动 - Network - Neil Chiao's Blog
struct device_driver的probe的调用 - linux驱动程序 - l...
浅析linux 2.6.23驱动注册函数driver_register()
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服