我正在 Linux 中编写一个简单的字符驱动程序,用于学习 Linux 内核开发的教育目的。为此,我创建了一个杂项设备,并在我的过程中动态分配其私有数据misc_init(),并在misc_exit(). 即使驱动程序还没有其他代码,我在执行sudo rmmod sepehr.
这是我的驱动程序代码:
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/fs.h>
#include <linux/miscdevice.h>
#include <linux/slab.h>
// Private data structure
struct sepehr_private {
struct mutex mtx;
char *message;
size_t size;
};
// File Operations - Open
static int sepehr_open(struct inode *inode, struct file *file)
{
return 0;
}
// File Operations - Release
static int sepehr_release(struct inode *inode, struct file *file)
{
return 0;
}
// File Operations - Read
static …Run Code Online (Sandbox Code Playgroud)