[国嵌攻略][128][串口驱动分析-初始化]

串口驱动结构

1.初始化设备

2.打开设备

3.读取数据

4.写入数据

串口驱动在内核的/drivers/serial/下的samsung.c和s3c2440.c

串口驱动中重要的数据结构

file_operations tty_fops.write = tty_write

tty_ldisc_ops tty_ldisc_N_TTY.write = n_tty_write

tty_operations uart_ops.write = uart_write

uart_write->uart_driver->uart_state->usrt_port->uart_ops->操作串口函数

UART驱动程序结构:struct uart_driver

UART端口结构(区分不同的串口):struct uart_port

UART相关操作函数结构:struct uart_ops

UART状态结构:struct uart_state

UART信息结构:struct uart_info

串口驱动初始化

1.注册串口驱动程序uart_register_driver

2.初始化串口

2.1.取出相应的uart_port

2.2.初始化uart_port

2.2.1.获取虚拟基地址

2.2.2.获取中断号

2.2.3.复位fifo

2.3.添加uart_add_one_port

2.4.创建属性文件device_create_file

2.5.初始化动态频率调节s3c24xx_serial_cpufreq_register

原文地址:https://www.cnblogs.com/d442130165/p/5263592.html