何时在Linux中最好地实现I2C驱动程序模块

时间:2010-04-13 13:24:08

标签: linux-device-driver i2c

我目前正在处理运行Linux的嵌入式系统中连接到I2C总线的两个设备。我正在使用第一台设备的现有驱动程序,一台相机。对于第二个设备,我已成功实现了一个用户空间程序,我可以使用该程序与第二个设备进行通信。到目前为止,两种设备似乎都快乐地共存。但是,几乎所有I2C设备都有自己的驱动模块。因此,我想知道驱动模块的优点是什么。我看了下面的帖子......

When should I write a Linux kernel module?

......但没有结论。

因此,在用户空间实现上编写I2C驱动程序模块的优势是什么?

此致 斯蒂芬

1 个答案:

答案 0 :(得分:2)

在您的情况下,您可能没有太多用于I2C驱动程序模块。如果它没有破坏....

我将包含内核模块驱动程序的主要原因是另一个内核模式驱动程序是I2C客户端,或者受益于与内核的紧密集成。其中一个例子是WM8350音频编解码器,它通过音频总线(I2S或AC97)和I2C上的配置(例如音量级别)传送音频数据。

电源管理IC是您希望内核直接控制的芯片的另一个示例。

最后,我会注意到有多种I2C驱动程序。 (请参阅Documentation / i2c / summary。)在某些情况下,您的硬件可能需要I2C总线适配器驱动程序,以教授如何通过I2C进行通信。这将需要内核模式驱动程序。