如何插入hwmon模块(ARM)

时间:2014-05-31 21:53:23

标签: embedded-linux kernel-module gumstix yocto

我担心这是一个非常具体的问题。

  • 硬件:Gumstix Overo Fire(ARM Cortex A8)
  • Distro:Poky(使用Yocto项目定制)
  • 内核:3.5.7

我尝试使用 / dev / i2c-3 <编写程序来读取 HIH6130 i2c传感器。 linux / i2c-dev.h> ,但尽管它适用于所有其他i2c设备,但它不适用于此设备。可能这是因为阅读协议的特殊性,但无论如何,这不是主题。

我发现this code实现了该传感器的驱动程序,它位于所谓的“hwmon”中,它似乎是传感器驱动程序的集合。

成功编译并插入此模块后,我希望在hwmon下的某处看到条目 humidity1_input ,但我没有找到它。


root@overo:/sys# find -name hum*
root@overo:/sys# find -name hih*
./bus/i2c/drivers/hih6130
./module/hih6130
root@overo:/sys# ls ./bus/i2c/drivers/hih6130
bind  module  uevent  unbind
root@overo:/sys# ls ./module/hih6130
coresize  holders   initstate  refcnt    srcversion  uevent
drivers   initsize  notes      sections  taint

我是否必须做其他事情才能读取此传感器?有什么想法吗?

1 个答案:

答案 0 :(得分:3)

我最终使用i2cget来阅读它:

$ i2cget -y 3 0x27 0x00

后来,作者Iain Paton向我展示了如何绑定驱动程序:

$ insmod hih6130.ko
$ echo hih6130 0x27 > /sys/bus/i2c/devices/i2c-3/new_device

在我的设备中,它出现在此目录中:

$ find /sys/ -name humidity*
/sys/devices/platform/omap_i2c.3/i2c-3/3-0027/humidity1_input

还有一个' temp1_input'在同一个目录中。