1

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

4

2 回答 2

4

在 /proc 伪文件系统中创建条目在Linux 设备驱动程序 [3rd ed]第 4 章中进行了说明。

现在你可能想考虑sysfs改用;它在 LDD3 第 14 章中有介绍。

于 2011-04-22T14:15:02.170 回答
3

一种方法是让您的司机

  • 实现一个函数,只要进程读取具有以下签名的相应 /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()

于 2011-04-22T14:38:29.540 回答