freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第11課字符設(shè)備驅(qū)動(dòng)(參考版)

2024-10-02 16:41本頁(yè)面
  

【正文】 Thanks! 。 I2C設(shè)備驅(qū)動(dòng) ( 2) ? 該文件提供了用戶(hù)層對(duì) I2C設(shè)備的訪(fǎng)問(wèn),包括 open、release、 read、 write、 ioctl等常規(guī)文件操作,應(yīng)用程序可以通過(guò) open函數(shù)打開(kāi) I2C的設(shè)備文件,通過(guò)ioctl函數(shù)設(shè)定要訪(fǎng)問(wèn)從設(shè)備的地址,然后就可以通過(guò) read和 write函數(shù)完成對(duì) I2C設(shè)備的讀寫(xiě)操作 。構(gòu)造一個(gè)針對(duì) I2C核心層接口的數(shù)據(jù)結(jié)構(gòu),即 i2c_driver結(jié)構(gòu)體,通過(guò)接口函數(shù)向 I2C核心注冊(cè)一個(gè) I2C設(shè)備驅(qū)動(dòng)。 drivers/i2c/chips目錄下已經(jīng)包含了部分設(shè)備的設(shè)備驅(qū)動(dòng)代碼,負(fù)責(zé)相應(yīng)從設(shè)備的注冊(cè) 。 I2C設(shè)備 驅(qū)動(dòng) ( 1) ? 與 I2C總線(xiàn)驅(qū)動(dòng)對(duì)應(yīng)的是 I2C設(shè)備驅(qū)動(dòng), I2C只有總線(xiàn)驅(qū)動(dòng)是不夠的,必須有設(shè)備才能正常 工作 。 ? 針對(duì)特定的 I2C適配器,還需要實(shí)現(xiàn)適合其硬件特性的通信方法,即實(shí)現(xiàn) i2c_algorithm結(jié)構(gòu)體 。 ? I2C總線(xiàn)驅(qū)動(dòng)模塊的加載函數(shù)負(fù)責(zé)初始化 I2C適配器所要使用的硬件資源,例如申請(qǐng) I/O地址、中斷號(hào)等,然后通過(guò) i2c_add_adapter() 函數(shù)注冊(cè) i2c_adapter結(jié)構(gòu)體,此結(jié)構(gòu)體的成員函數(shù)指針已經(jīng)被相應(yīng)的具體實(shí)現(xiàn)函數(shù)初始化 。 – int i2c_master_recv(struct i2c_client *client, char *buf, int count)。 – int i2c_transfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num)。 – int i2c_attach_client(struct i2c_client *)。 – int i2c_register_driver(struct module *owner, struct i2c_driver *driver)。 – int i2c_add_adapter(struct i2c_adapter *adapter)。 /*鏈表頭 */ ? }。 /*檢測(cè)函數(shù) */ ? const struct i2c_client_address_data *address_data。 /*設(shè)備驅(qū)動(dòng)結(jié)構(gòu)體 */ ? const struct i2c_device_id *id_table。 /*設(shè)備恢復(fù)函數(shù) */ ? int (*mand)(struct i2c_client *client, unsigned int cmd, void *arg)。 /*設(shè)備關(guān)閉函數(shù) */ ? int (*suspend)(struct i2c_client *, pm_message_t mesg)。 /*設(shè)備添加函數(shù)(新式)*/ ? int (*remove)(struct i2c_client *)。 /*適配器刪除函數(shù)(舊式) */ ? int (*detach_client)(struct i2c_client *) __deprecated。 ? int (*attach_adapter)(struct i2c_adapter *)。 i2c_driver ? struct i2c_driver { ? int id。 ? struct pletion released。 ? struct list_head list。 /*依附的 i2c_driver指針 */ ? struct device dev。 /*設(shè)備名字 */ ? struct i2c_adapter *adapter。 /*標(biāo)志 */ ? unsigned short addr。 /*消息內(nèi)容 */ ? }。 /*標(biāo)志位 */ ? __u16 len。 ? struct i2c_msg { ? __u16 addr。 ? //確定適配器所支持的功能 ? u32 (*functionality) (struct i2c_adapter *)。 i2c_algorithm ? struct i2c_algorithm { ? //I2C傳輸函數(shù)指針 ? int (*master_xfer)(struct i2c_adapter *adap, stru
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1