- 论坛徽章:
- 0
|
dm9000x.rar
(11.42 KB, 下载次数: 43)
首先说明,我这里没有使用platform_的一系列函数,用的是net_device
问题一:定义了dmfe_dev,语句如下:static struct net_device *dmfe_dev = NULL;然后,在模块初始化的时候,有这样一句话:dmfe_dev->init = dmfe_probe;这是不是在说我这个dmfe_dev设备的初始化程序是 dmfe_probe函数指针所指的,这个初始化函数在这里只是被赋值了,那么请问,init函数准确的执行应该是在什么时候?在这行代码被执行的时候还是在系统检测到这个设备的时候还是别的什么时候?
问题二:一个设备和一个驱动,二者是靠什么关联起来的?靠名字吗?
问题三:int dmfe_probe(struct net_device *dev)这个函数是设备的初始化函数,那这个函数被调用的时候实参是什么?我没有看到任何地方调用这个函数,请问它的实参是如何传递的?
今天暂时遇到这些问题,我把我的源码传上来,如果有人愿意,我们可以一起探讨。这是ylp2440开发板自带的dm9000x.c和dm9000x.h。我的QQ:215587754 |
|