我自己在 LKM 中编写了字符设备驱动程序,它很简单:
dev_open(struct inode *inode, struct file *filp);
dev_read (struct file *filp, char __user *buf, size_t count, loff_t *f_pos)
dev_write(struct file *filp, const char __user *buf, size_t count, loff_t *f_pos)
dev_release(struct inode *inode, struct file *filp)
然后在我的内核模块中,我也想写入字符设备,而写入必须实际调用我的函数:
dev_write(struct file *filp, const char __user *buf, size_t count, loff_t *f_pos)
我在 SE 找到了一个类似的链接,但是这样它就不会调用我的dev_write()
函数来编写,而是更深层次的vfs_write()
,对吧?