我在接受采访时被问到这个问题。您正在编写PCI驱动程序,并且希望将与硬件相关的信息导出到/ proc文件系统。有趣的是,我搜索了驱动程序代码,但找不到与/ proc文件系统相关的任何调用,但实际上是导出了信息。它是自动完成的吗?机制是什么?有人可以解释一下吗?
答案 0 :(得分:4)
在Linux Device Drivers [3rd ed]第4章中解释了在/ proc伪文件系统中创建条目。
现在你可能想考虑使用sysfs
;它包含在LDD3第14章中。
答案 1 :(得分:3)
一种方法是让你的司机
实现一个函数,只要进程使用以下签名读取相应的/ proc条目,就会调用该函数:
int(* read_proc)(char * page,char ** start,off_t offset,int count,int * eof,void * data);
通过将其指针传递给create_proc_read_entry()
来注册您的函数,remove_proc_entry()
接受/ proc条目的名称作为字符串以及其他内容:
create_proc_read_entry(“foobar”,0,NULL,your_read_func_ptr,NULL);
当您的驱动程序卸载时,应删除{{1}}
条目