diff -Nur linux-2.6.23/arch/arm/mach-ixp4xx/wrt300nv2-setup.c linux-2.6.23-owrt/arch/arm/mach-ixp4xx/wrt300nv2-setup.c --- linux-2.6.23/arch/arm/mach-ixp4xx/wrt300nv2-setup.c 2007-10-23 19:20:08.000000000 +0200 +++ linux-2.6.23-owrt/arch/arm/mach-ixp4xx/wrt300nv2-setup.c 2007-10-23 19:22:19.000000000 +0200 @@ -76,9 +76,36 @@ .resource = &wrt300nv2_uart_resource, }; +/* Built-in 10/100 Ethernet MAC interfaces */ +static struct eth_plat_info wrt300nv2_plat_eth[] = { + { + .phy = -1, + .rxq = 3, + .txreadyq = 20, + }, { + .phy = 1, + .rxq = 4, + .txreadyq = 21, + } +}; + +static struct platform_device wrt300nv2_eth[] = { + { + .name = "ixp4xx_eth", + .id = IXP4XX_ETH_NPEB, + .dev.platform_data = wrt300nv2_plat_eth, + }, { + .name = "ixp4xx_eth", + .id = IXP4XX_ETH_NPEC, + .dev.platform_data = wrt300nv2_plat_eth + 1, + } +}; + static struct platform_device *wrt300nv2_devices[] __initdata = { &wrt300nv2_flash, - &wrt300nv2_uart + &wrt300nv2_uart, + &wrt300nv2_eth[0], + &wrt300nv2_eth[1], }; static void __init wrt300nv2_init(void)