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

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

of_match_device函數(shù)是什么?

2023-02-16 16:40 作者:朗朗上口又上頭  | 我要投稿

of_match_device函數(shù)一般用于設(shè)備樹驅(qū)動程序中,用來獲取與設(shè)備節(jié)點(diǎn)相關(guān)聯(lián)的設(shè)備驅(qū)動程序。

of_match_device函數(shù)是Linux內(nèi)核中的一個函數(shù),用于設(shè)備樹中設(shè)備節(jié)點(diǎn)和設(shè)備驅(qū)動程序之間的匹配。這個函數(shù)的作用是通過指定的設(shè)備樹節(jié)點(diǎn)和設(shè)備驅(qū)動程序的匹配信息進(jìn)行匹配,如果匹配成功,就返回相應(yīng)的設(shè)備驅(qū)動程序。

of_match_device函數(shù)的原型定義如下:

```

const struct of_device_id *of_match_device(const struct of_device_id *matches,

const struct device *dev);

```

其中:

matches參數(shù)是一個of_device_id類型的數(shù)組,用來存儲 設(shè)備驅(qū)動程序和設(shè)備節(jié)點(diǎn)之間的匹配信息。

dev參數(shù)是設(shè)備樹中的一個設(shè)備節(jié)點(diǎn),用于匹配 設(shè)備節(jié)點(diǎn)和設(shè)備驅(qū)動程序之間的匹配信息。

of_match_device函數(shù)會遍歷matches數(shù)組中的每一項,將其與dev參數(shù)進(jìn)行匹配,如果匹配成功,就返回該設(shè)備驅(qū)動程序?qū)?yīng)的of_device_id結(jié)構(gòu)體,否則返回NULL。

在設(shè)備樹驅(qū)動程序中,一般會定義一個static const struct of_device_id類型的數(shù)組,用來存儲設(shè)備驅(qū)動程序和設(shè)備節(jié)點(diǎn)之間的匹配信息。然后通過調(diào)用of_match_device函數(shù),將設(shè)備節(jié)點(diǎn)和設(shè)備驅(qū)動程序進(jìn)行匹配,獲取匹配成功的設(shè)備驅(qū)動程序。

比如:

static const struct mtk_soc_data mt7621_data = {

.caps = MT7621_CAPS,

.required_clks = MT7621_CLKS_BITMAP,

.required_pctl = false,

.irq_num = 1,

};

const struct of_device_id of_mtk_match[] = {

{ .compatible = "mediatek,mt2701-eth", .data = &mt2701_data},

{ .compatible = "mediatek,mt7622-eth", .data = &mt7622_data},

{ .compatible = "mediatek,mt7623-eth", .data = &mt7623_data},

{ .compatible = "mediatek,mt7629-eth", .data = &leopard_data},

{ .compatible = "mediatek,mt7621-eth", .data = &mt7621_data},

{},

};

MODULE_DEVICE_TABLE(of, of_mtk_match);

static int mtk_probe(struct platform_device *pdev)

{

struct resource *res = platform_get_resource(pdev, IORESOURCE_MEM, 0);

struct device_node *mac_np;

const struct of_device_id *match;

struct mtk_eth *eth;

int err;

int i;

eth = devm_kzalloc(&pdev->dev, sizeof(*eth), GFP_KERNEL);

if (!eth)

return -ENOMEM;

match = of_match_device(of_mtk_match, &pdev->dev);

eth->soc = (struct mtk_soc_data *)match->data;

of_match_device函數(shù)是什么?的評論 (共 條)

分享到微博請遵守國家法律
始兴县| 江津市| 屏南县| 东阳市| 福海县| 昌乐县| 勐海县| 封开县| 青铜峡市| 日喀则市| 枣强县| 上饶县| 遵义县| 饶平县| 邓州市| 全椒县| 井研县| 鹿邑县| 姚安县| 江都市| 博白县| 团风县| 石林| 泰安市| 鸡泽县| 汪清县| 阳江市| 伽师县| 大邑县| 朝阳市| 枝江市| 潜山县| 华容县| 玉林市| 德兴市| 满城县| 平阳县| 嘉义县| 卢龙县| 满洲里市| 运城市|