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