uart_ops结构体分析之amba_pl011_pops


static struct uart_ops amba_pl011_pops = {
	.tx_empty	= pl01x_tx_empty,               //串口的tx_fifo是否为空
	.set_mctrl	= pl011_set_mctrl,              //设置串口的modem控制,xyz
	.get_mctrl	= pl01x_get_mctrl,              //获取modem设置
	.stop_tx	= pl011_stop_tx,                //停止传输
	.start_tx	= pl011_start_tx,               //开始传输
	.stop_rx	= pl011_stop_rx,                //停止接收
	.enable_ms	= pl011_enable_ms,              //使能modem的状态信号
	.break_ctl	= pl011_break_ctl,              //设置break信号
	.startup	= pl011_startup,                //使能串口,用户调用open使最终会调用此函数
	.shutdown	= pl011_shutdown,               // 关闭串口,应用程序关闭串口设备文件时,该函数会被调用
	.flush_buffer	= pl011_dma_flush_buffer,
	.set_termios	= pl011_set_termios,        //设置串口属性,包括波特率等
	.type		= pl011_type,                   //判断串口类型是否为amba
	.release_port	= pl010_release_port,       //释放端口使用的内存
	.request_port	= pl010_request_port,       //请求端口使用的内存
	.config_port	= pl010_config_port,        //设置端口类型并申请端口使用的内存
	.verify_port	= pl010_verify_port,        //检验串口属性,包括总线类型和波特率
#ifdef CONFIG_CONSOLE_POLL
	.poll_get_char = pl010_get_poll_char,       //获取console的输入
	.poll_put_char = pl010_put_poll_char,       //将数据显示到console中
#endif
};

个人理解,如有错误望指出,本人正在研究该部分代码,所以有理解不到位的还请理解

你可能感兴趣的:(linux设备驱动,linux学习笔记)