只有在把sysfs挂在到/sys目录下之后你才能在/sys文件夹下面看到东西。用mount命令不带任何参数可以查看当前所有已经挂载的文件系统。用"mount -t sysfs none /sys"可以把sysfs挂载到/sys目录下。
写模块的时候,包含的头文件路径有点搞不懂。应该是在Makefile文件里找吧,如果KDIR是源代码路径的话,这时候如果在模块代码中加入
#include <mach/hardware.h>
那到底是包含哪一个路径下的hardware.h呢?
这是在arch/arm/Makefile里指定的:
234 machdirs := $(patsubst %,arch/arm/mach-%/,$(machine-y))
235 platdirs := $(patsubst %,arch/arm/plat-%/,$(plat-y))
236
237 ifeq ($(KBUILD_SRC),)
238 KBUILD_CPPFLAGS += $(patsubst %,-I%include,$(machdirs) $(platdirs))
239 else
240 KBUILD_CPPFLAGS += $(patsubst %,-I$(srctree)/%include,$(machdirs) $(platdirs))
241 endif
变量machine-y和plat-y的值也是在这个文件里根据内核的配置而决定的,对于S3C6410的硬件平台来说,有
176 machine-$(CONFIG_ARCH_S3C64XX) := s3c64xx
...
205 plat-$(CONFIG_ARCH_S3C64XX) := samsung
所以,实际包含的文件就是arch/arm/mach-s3c64xx/include/mach/hardware.h或者arch/arm/plat-samsung/include/mach/hardware.h