Linux串口驱动加载过程

本文以SNX串口卡在Centos7环境下加载驱动过程为例,分析串口的名称是如何确定的。

下面的终端显示为调用了modprobe snx后的输出,可以看到在第二步,内核发出消息到用户空间已经把串口名称确定了。

Linux串口驱动加载过程

进入驱动代码,可以看到dev_name已经被硬编码了,并且在tty_set_operations中将设备名称注册到了内核空间。

最后udev在用户空间的/devices/virtual/tty/下创建串口设备文件,并最终在/dev下建立设备文件符号连接。

当执行modprobe -r snx后,/dev下的设备文件也会被释放。

Linux串口驱动加载过程