i2c裝置驅動

2021-08-13 22:22:13 字數 770 閱讀 1889

//1,i2c 裝置註冊:

static struct i2c_board_info i2c2_devices = ,  

};//i2c裝置一般在板級**中註冊

static void msm8916_add_i2c_deivces(void)

//2,i2c驅動註冊

#include

static const struct i2c_device_id lt8912_id = ,  //匹配i2c client名為lt8912的裝置 };

//module_device_table(i2c, lt8912_id);

static int lt8912_i2c_probe(struct i2c_client * client, const struct i2c_device_id * device_id) //現行通用的與對應裝置進行繫結的介面函式

static int lt8912_i2c_remove(struct i2c_client * client)  //現行通用與對應裝置進行解綁的介面函式

static struct i2c_driver lt8912_driver = ,  

.probe    = lt8912_i2c_probe,  //組裝裝置匹配時候的匹配動作

.remove   = lt8912_i2c_remove,  //組裝裝置移除介面

.id_table = lt8912_id,  //制定匹配裝置列表

};module_i2c_driver(lt8912_driver);

I2C裝置驅動流程

一 i2c裝置 驅動流程 1 i2c register board info 定義i2c 器件資訊 name,address,etc.static struct i2c board info initdata pi2c board info i2c register board info 1,arr...

Linux驅動之I2C裝置驅動

核心 4.20 晶元 hym8563 rtc 下面的 分析主要都在注釋中,會按照驅動中函式的執行順序分析。static const struct i2c device id hym8563 id module device table i2c,hym8563 id static const stru...

I2C裝置驅動的編寫

前面我們說了如何i2c使用者模式驅動,這種驅動基於i2c子系統,但是他對於應用程式開發人員的要求較高,需要應用程式開發人員了解硬體的一些東西,比如時序,位址等等,而多數時候應用程式開發人員是按照操作檔案的方法操作裝置,所以我們更希望用一些更簡單的介面去訪問。也就是我們今天的內容 基於i2c子系統的字...