1. 程式人生 > >uart_ops結構體分析之amba_pl011_pops

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
};

個人理解,如有錯誤望指出,本人正在研究該部分程式碼,所以有理解不到位的還請理解