ucc_geth: Add support to local-mac-address property
authorLi Yang <leoli@freescale.com>
Thu, 8 Feb 2007 09:35:54 +0000 (17:35 +0800)
committerJeff Garzik <jeff@garzik.org>
Fri, 9 Feb 2007 01:13:15 +0000 (20:13 -0500)
IEEE-1275 defines “local-mac-address” to be a standard
property name to specify preassigned network address.
This patch adds support for it.

Signed-off-by: Li Yang <leoli@freescale.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/ucc_geth.c

index db0370a..31c97a6 100644 (file)
@@ -4072,6 +4072,7 @@ static int ucc_geth_probe(struct of_device* ofdev, const struct of_device_id *ma
        static int mii_mng_configured = 0;
        const phandle *ph;
        const unsigned int *prop;
+       const void *mac_addr;
 
        ugeth_vdbg("%s: IN", __FUNCTION__);
 
@@ -4197,7 +4198,12 @@ static int ucc_geth_probe(struct of_device* ofdev, const struct of_device_id *ma
 
        ugeth->ug_info = ug_info;
        ugeth->dev = dev;
-       memcpy(dev->dev_addr, get_property(np, "mac-address", NULL), 6);
+
+       mac_addr = get_property(np, "mac-address", NULL);
+       if (mac_addr == NULL)
+               mac_addr = get_property(np, "local-mac-address", NULL);
+       if (mac_addr)
+               memcpy(dev->dev_addr, mac_addr, 6);
 
        return 0;
 }