欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

认识一下杂项设备

程序员文章站 2022-04-11 18:53:49
...

cat /proc/misc 可以查看到杂项设备

杂项设备特点

  • 自动生成节点
  • 杂项设备是特殊的一种字符设备、比字符设备代码简单。
  • 主设备号为10、次设备号不同。

ps主设备号给设备分类、次设备号区分具体设备

杂项设备结构体描述 include/linux/miscdevice.h

struct miscdevice  {
	int minor;//次设备号
	const char *name;//设备节点名字  ls /dev 可以查看到
	const struct file_operations *fops;
	//文件操作集,结构体在 include/linux/fs.h
	struct list_head list;
	struct device *parent;
	struct device *this_device;
	const struct attribute_group **groups;
	const char *nodename;
	umode_t mode;
};
**

文件操作集结构体 file_opreations

struct file_operations {
	struct module *owner;
	ssize_t (*read) (struct file *, char __user *, size_t, loff_t *);
	ssize_t (*write) (struct file *, const char __user *, size_t, loff_t *);
	//~~省略一些不常用的成员函数~~~
} ;
extern int misc_register(struct miscdevice *misc);//注册杂项设备
extern void misc_deregister(struct miscdevice *misc);//注销杂项设备
## 注册杂项设备的流程

 1. 填充miscdevice结构体
 2. 填充file_operations结构体
 3. 注册杂项设备并生成设备节点