喷泉之所以漂亮,是因为她有压力;瀑布之所以壮观,是因为她没退路。
全部博文(149)
分类: LINUX
2015-11-06 14:38:47
static struct platform_driver pdrv ={
.probe = plat_probe,
.remove = plat_remove,
.driver = {
.name = "plat-realtek",
}
};
Linux中总线、设备、驱动这3者是非常重要的数据结构,它们互相之间都有联系一旦一个设备和一个驱动能够匹配上,就会执行驱动里的probe。
总之一句话,probe函数作为driver的最基本的函数指针,一旦你的device和driver匹配(match,由总(bus)来完成,匹配工作发生在device_register()和drvier_register()的时候),probe函数就肯定会被调用;而probe的参数,pci里是struct pci_dev *pdev ,这个是由linux内核启动时遍历pci总线后得到的pci设备的描述符。
probe调用期间一般会完成device的初始化,注册中断等操作。