DM 9000网卡驱动移植

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,    
    }
};
View Code

2. 内核所需得配置参考  http://blog.csdn.net/laoyuliang/article/details/7915666

http://www.cnblogs.com/zuobaozhu/articles/2498092.html#_Toc324535486

3. 配置成功后,启动内核会发现如下的打印则说明移植成功:

原文地址:https://www.cnblogs.com/youngvoice/p/4878692.html