PCI设备驱动程序将信息导出到/ proc文件系统

时间:2011-04-22 03:20:46

标签: c linux-kernel linux-device-driver procfs

我在接受采访时被问到这个问题。您正在编写PCI驱动程序,并且希望将与硬件相关的信息导出到/ proc文件系统。有趣的是,我搜索了驱动程序代码,但找不到与/ proc文件系统相关的任何调用,但实际上是导出了信息。它是自动完成的吗?机制是什么?有人可以解释一下吗?

2 个答案:

答案 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}}

条目