在Linux设备驱动程序中即时更改I2C地址

时间:2010-08-24 06:47:39

标签: linux-device-driver i2c

我的linux系统附带了两个摄像头。摄像机通过I2C控制。单个摄像头的设备驱动程序基于i2c-core设备驱动程序。我想在两台相机之间切换。因此,我想动态更改I2C地址来控制一个或另一个摄像头。

这合理吗?如果是,是否有一个函数,这样做或者是否有必要以i2c_detach_clienti2c_attach_client分离并附加客户端?

感谢任何建议,Stefan

2 个答案:

答案 0 :(得分:1)

如果我正确理解你的问题,你应该为/ dev /下的每个摄像头获取一个设备,为什么不打开两个设备而不是试图做一些需要你重写驱动程序的大部分内容?

我建议您查看此处的文档:http://www.mjmwired.net/kernel/Documentation/i2c(请注意左侧不同的主题)。

答案 1 :(得分:0)

评论中列出的解决方案应该有效。我之前用ioctl接口编写了一个通用的I2C驱动程序,它只设置了client-> addr条目,它允许我测试总线。

请注意,i2c_detach_clienti2c_attach_client函数已在更新的内核中删除。

相关问题