[国嵌攻略][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