gpt4 book ai didi

linux - probe() 函数的参数从何而来?

转载 作者:太空狗 更新时间:2023-10-29 11:17:53 35 4
gpt4 key购买 nike

我正在研究 linux 设备驱动程序。目前,我大致了解设备驱动程序的流程,但我不知道 probe() 函数如何获取其参数。

例如,这是我的代码,它基于内核 3.10。

static int gpio_led_probe(struct platform_device *pdev) {
struct gpio_led_platform_data *pdata = pdev->dev.platform_data;
struct gpio_leds_priv *priv;
....
priv = gpio_leds_create_of(pdev);
....
}

像这样,参数“pdev”用于各种来源。我理解 probe() 何时调用及其作用,但我找不到数据“pdev”的来源。

感谢阅读我的主题,抱歉我的英语不好。

最佳答案

探测时平台设备特定数据来自平台设置代码或设备树。你可以在arch/arm/borad/device文件中找到相关代码struct platform_device 嵌入了platform_data 结构,您可以在其中将平台相关数据传递给驱动程序。

在现代内核平台中,数据通过设备树传递给设备驱动程序。设备树可以在 /arch/arm/boot/dts/your_device

中找到

关于linux - probe() 函数的参数从何而来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37110495/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com