最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

學(xué)習(xí)平臺驅(qū)動有感

2023-04-04 11:35 作者:秋名山西  | 我要投稿

之前學(xué)習(xí)都是一遍帶過,今天回過頭來整理,在此記錄。

對于LED驅(qū)動框架,驅(qū)動程序的首要任務(wù)就是完成這個結(jié)構(gòu)體的實例的填充。

由于這里我們是打算使用平臺總線的方式實現(xiàn)LED驅(qū)動。因此,勢必還需要向內(nèi)核注冊一個struct platform_device的實例,如下:

在這個結(jié)構(gòu)體中,除了中斷、內(nèi)存的數(shù)據(jù)需要放進struct resource中,其他的數(shù)據(jù)(例如gpio)則需要放入平臺數(shù)據(jù)(paltform_data),位于struct platform_device中的struct device dev中,即platform_device.dev.platform_data。

也就是說,對于平臺總線設(shè)備,在內(nèi)核中應(yīng)當(dāng)有一個專門的結(jié)構(gòu)體用來存儲平臺總線數(shù)據(jù),即

struct platform_data,內(nèi)核有的話不需要額外添加,不然則需要自己添加。最后將這個結(jié)構(gòu)體以指針的形式放進struct platform_device中,向內(nèi)核注冊設(shè)備。

在s5pv210中,需要添加struct platform_data結(jié)構(gòu)體,因此在arch/arm/s5pv210的include/mach下新增了leds-gpio.h,用于添加struct platform_data。然后在mach-210.c中添加struct platform_data的實例,并在smkc110_machine_init中添加設(shè)備結(jié)構(gòu)體,以便在內(nèi)核初始化的時候注冊設(shè)備到內(nèi)核中。


一旦平臺驅(qū)動與平臺設(shè)備匹配成功后,驅(qū)動中的probe函數(shù)就會被執(zhí)行,在這個函數(shù)中,獲取設(shè)備信息:void dev_get_platdata(const struct device *dev);

對于led框架的驅(qū)動,在填充完struct led_classdev結(jié)構(gòu)體后,就可以調(diào)用int led_classdev_register(struct device *dev,struct led_classdev)向led驅(qū)動框架注冊驅(qū)動。


學(xué)習(xí)平臺驅(qū)動有感的評論 (共 條)

分享到微博請遵守國家法律
新丰县| 沭阳县| 虹口区| 泗洪县| 许昌县| 军事| 织金县| 防城港市| 宁河县| 桦甸市| 登封市| 桃江县| 南川市| 墨脱县| 昌平区| 定州市| 台北市| 晋州市| 格尔木市| 凤山市| 鄯善县| 璧山县| 开阳县| 东兰县| 枝江市| 沛县| 延长县| 丹棱县| 河源市| 井冈山市| 临清市| 苏尼特左旗| 禹州市| 藁城市| 松溪县| 车险| 长沙市| 建德市| 柳州市| 玉田县| 锦州市|