一、字符设备完成注册
我们知道,在serial核心层提供了2个重要接口
uart_register_driver
uart_add_one_port
上者通过调用tty核心的接口,完成了tty_driver的动态分配和注册,然而此时并没有看到创建字符设备,
通过对uart_add_one_port的分析,最终调用了tty核心的
tty_register_device_attr接口

tty核心层的tty_cdev_add接口最终完成了字符设备的注册工作,
这里比较关注的是tty_fops

二、字符设备的操作集
上面我们看到,注册字符设备,使用了tty_fops作为操作集
看看tty_fops的定义,tty_fops定义在tty核心层。

tty设备归根结底是一个字符设备。
三、字符设备的打开
1、找到对应的tty_driver和tty_struct
直接看tty_fops的open。
首先获取设备号

文章详细阐述了Linux内核中字符设备的注册过程,通过uart_register_driver和tty_core的接口完成。tty_fops作为操作集在字符设备的打开过程中起到关键作用。在打开字符设备时,会查找并初始化tty_struct,同时涉及到线路规程的初始化和激活,其中tty_ldisc扮演了重要角色。
最低0.47元/天 解锁文章
3665

被折叠的 条评论
为什么被折叠?



