#include 头文件
misc_register(&hello_dev);设备节点注册函数
misc_deregister(&hello_dev);设备节点移除函数
这两个函数就引出了一个结构体:
static struct miscdevice hello_dev = {
.minor = MISC_DYNAMIC_MINOR,
.name = DEVICE_NAME,
.fops = &hello_ops,
};
由这个结构体又会延伸出下一个结构体:
static struct file_operations hello_ops = {
.owner = THIS_MODULE,
.open = hello_open,
.release = hello_release,
.unlocked_ioctl = hello_ioctl,
};
当然这个结构体我初始化的不全,还有很多函数没写,想具体需要看的话可以百度。然后就是结构体hello_ops里边对应函数的编写了。
static int hello_probe(struct platform_device *pdv)
static int hello_remove(struct platform_device *pdv)