1 --- a/arch/mips/ar7/platform.c
2 +++ b/arch/mips/ar7/platform.c
4 #include <linux/vlynq.h>
5 #include <linux/leds.h>
6 #include <linux/string.h>
7 +#include <linux/phy.h>
8 +#include <linux/phy_fixed.h>
10 #include <asm/addrspace.h>
11 #include <asm/ar7/ar7.h>
12 @@ -205,6 +207,13 @@ static struct physmap_flash_data physmap
16 +/* lets assume this is suitable for both high and low cpmacs links */
17 +static struct fixed_phy_status fixed_phy_status __initdata = {
23 static struct plat_cpmac_data cpmac_low_data = {
26 @@ -506,6 +515,10 @@ static int __init ar7_register_devices(v
29 if (ar7_has_high_cpmac()) {
30 + res = fixed_phy_add(PHY_POLL, cpmac_high.id, &fixed_phy_status);
31 + if (res && res != -ENODEV)
34 cpmac_get_mac(1, cpmac_high_data.dev_addr);
35 res = platform_device_register(&cpmac_high);
37 @@ -514,6 +527,10 @@ static int __init ar7_register_devices(v
38 cpmac_low_data.phy_mask = 0xffffffff;
41 + res = fixed_phy_add(PHY_POLL, cpmac_low.id, &fixed_phy_status);
42 + if (res && res != -ENODEV)
45 cpmac_get_mac(0, cpmac_low_data.dev_addr);
46 res = platform_device_register(&cpmac_low);