ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

usb_serial_init/tty_driver/alloc_tty_driver/tty_register_driver

usb_serial_init/tty_driver/alloc_tty_driver/tty_register_driver

tty_driver 结构体

  • 1. usb_serial_init 函数
    • 1.1 tty_driver 结构体
    • 1.2 alloc_tty_driver 函数
    • 1.3 tty_register_driver 函数

1. usb_serial_init 函数

  1. 通过 alloc_tty_driver() 函数,分配 TTY 驱动对象(即初始化 tty_driver 部分成员变量)

  2. 通过 bus_register() 函数,完成下列任务:

  • 创建/sys/bus/ usb-serial /devices目录
    创建/sys/bus/ usb-serial /drivers目录
    创建/sys/bus/ usb-serial /drivers_autoprobe属性文件
    创建/sys/bus/ usb-serial /drivers_probe属性文件
    创建/sys/bus/ usb-serial /uevent文件(uevent 的属性文件)

  • 初始化usb_serial_bus_type(struct bus_type)结构体1

  1. 配置 TTY(tty_register_driver【struct tty_driver】)驱动属性2

  2. 通过 tty_register_driver() 函数,完成下列任务:

1.1 tty_driver 结构体

1.2 alloc_tty_driver 函数

  • 分配 TTY 驱动对象(即初始化 tty_driver 部分成员变量)

1.3 tty_register_driver 函数


  1. 初始化usb_serial_bus_type 结构体↩︎

  2. 配置 TTY 驱动属性↩︎

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进