Linux 2.6.30内核移植到S3C2440(3)

#include <mach/hardware.h>   #include <mach/regs-mem.h>   #include <mach/regs-irq.h>  

2) netdevice.h 中struct net_device结构体又添上了:void *priv;

3) 把#include <linux/irq.h>文件包含,同时在CS8900.c文件中定义如下宏:

#define IRQT_RISING IRQ_TYPE_EDGE_RISING  

把823行屏蔽掉。

4)对于错误:drivers/net/arm/cs8900.c:96: error: unknown field `init' specified in initializer

这个错误不知道怎么解决,我是把那行屏蔽掉了,同时把它改为在cs8900_init()函数中进行初始化。

按上述处理后,启动时会出现错误:操作了空指针,这是由于cs8900.c中静态定义了cs8900_dev但没有分配私有成员空间的缘故。

因此,改用alloc_etherdev()函数分配cs8900_dev就可以了。

具体的可以对比本人移植前后的的cs8900.c的源代码。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwfjys.html