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

歡迎光臨散文網(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ù)是什么?的評論 (共 條)

分享到微博請遵守國家法律
阿瓦提县| 田东县| 体育| 乌鲁木齐市| 阿克陶县| 安阳市| 兰溪市| 嘉善县| 嘉荫县| 平凉市| 巍山| 邵阳市| 东台市| 长治县| 长顺县| 衡阳县| 固安县| 徐水县| 怀集县| 额尔古纳市| 泾源县| 鹰潭市| 渭源县| 宁海县| 榆林市| 晋江市| 剑川县| 新沂市| 华蓥市| 涿鹿县| 内黄县| 招远市| 舟曲县| 新巴尔虎左旗| 福贡县| 多伦县| 章丘市| 西充县| 贵德县| 东城区| 吉林市|