国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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ū)動有感的評論 (共 條)

分享到微博請遵守國家法律
固镇县| 巴里| 隆子县| 荔波县| 郑州市| 五寨县| 河东区| 长兴县| 三门峡市| 东方市| 玉门市| 大宁县| 伊春市| 青阳县| 玉树县| 万载县| 新余市| 兰溪市| 讷河市| 太谷县| 巴楚县| 平凉市| 万源市| 应城市| 南昌市| 库伦旗| 米林县| 荆门市| 和政县| 贞丰县| 铜梁县| 永昌县| 博罗县| 白沙| 蕉岭县| 达日县| 凌海市| 凯里市| 库车县| 长泰县| 墨竹工卡县|