1、自动创建设备节点
涉及的函数:
struct class *class_create(struct module *owner, const char *name);
----在/sys/class/目录下会创建对应的类
void class_destroy(struct class *cls)
struct device *device_create(struct class *class, struct device *parent,
dev_t devt, const char *fmt, ...);
----在/dev/目录下会创建结点
void device_destroy(struct class *class, dev_t devt);
注意:某一步失败,要说释放掉前边申请的资源。
#include <linux/module.h>
#include <linux/init.h>
#include <linux/fs.h>
#include <linux/kdev_t.h>
#include <linux/cdev.h>
static unsigned int major = 250;
static unsigned int minor = 0;
struct class *cls;
dev_t devno = 0;
int hello_open(struct inode *inode, struct file *file)
{
printk("hello_open\n");
return 0;
}
int hello_release(struc