1. 由于内核已经带有DM9000 网卡的驱动,所以主要移植工作是在板文件中添加 platform_device 结构,并加入 ok6410_devices[] __initdata 数组。
代码如下:
/*DM9000*/ #define DM9000_IRQ_EINT0 IRQ_EINT(7) static struct resource ok6410_dm9000_resources_cs1[] = { [0] = { .start= S3C64XX_VA_DM9000, .end = S3C64XX_VA_DM9000 + S3C64XX_SZ_DM9000 - 1, .flags = IORESOURCE_MEM, }, [1] = { .start = (DM9000_IRQ_EINT0), .end = (DM9000_IRQ_EINT0), .flags = IORESOURCE_IRQ, }, }; static struct dm9000_plat_data ok6410_dm9000_setup_cs1 = { .flags = DM9000_PLATF_16BITONLY }; struct platform_device ok6410_device_dm9000_cs1 = { .name = "dm9000_con201", .id = 0, .num_resources = ARRAY_SIZE(ok6410_dm9000_resources_cs1), .resource = ok6410_dm9000_resources_cs1, .dev = { .platform_data = &ok6410_dm9000_setup_cs1, } };
2. 内核所需得配置参考 http://blog.csdn.net/laoyuliang/article/details/7915666
及 http://www.cnblogs.com/zuobaozhu/articles/2498092.html#_Toc324535486
3. 配置成功后,启动内核会发现如下的打印则说明移植成功: