使用 proc,我们可以轻松地使用 read & write 系统调用,如本例所示。 通过用户空间写入 /proc 条目
但我正在使用 debugfs 将信息从驱动程序传递到用户空间。我能够找到这两个示例代码。这里应用程序能够使用 mmap() 系统调用读取和写入 debugfs 文件。
- http://people.ee.ethz.ch/~arkeller/linux/code/mmap_simple_kernel.c
- http://people.ee.ethz.ch/~arkeller/linux/code/mmap_user.c
但是假设在我的情况下需要使用 Debugfs 文件与设备驱动程序进行通信:
user-space application <-------> debugfs file <-------> Device driver
那么我可以在我的 --->> 设备驱动程序代码 --->> 中使用相同的代码 mmap_simple_kernel.c 并直接从驱动程序将数据传输到 debugfs 吗?但是在这种情况下,我的驱动程序中会有两个 file_operations 结构会导致一些问题吗?这是正确的方法吗?
或者就像应用程序在 -- mmap_user.c 中遵循进程一样 -- 相同的进程 -- 我在我的设备驱动程序中遵循。并保留 mmap_simple_kernel.c 作为 debugfs 条目的单独模块?