提交 49b6e95f 编写于 作者: D David S. Miller

[TG3]: Use pci_device_to_OF_node() on sparc.

And use CONFIG_SPARC instead of CONFIG_SPARC64 as the
test.
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 6f85a859
......@@ -46,10 +46,9 @@
#include <asm/byteorder.h>
#include <asm/uaccess.h>
#ifdef CONFIG_SPARC64
#ifdef CONFIG_SPARC
#include <asm/idprom.h>
#include <asm/oplib.h>
#include <asm/pbm.h>
#include <asm/prom.h>
#endif
#if defined(CONFIG_VLAN_8021Q) || defined(CONFIG_VLAN_8021Q_MODULE)
......@@ -10988,25 +10987,21 @@ static int __devinit tg3_get_invariants(struct tg3 *tp)
return err;
}
#ifdef CONFIG_SPARC64
#ifdef CONFIG_SPARC
static int __devinit tg3_get_macaddr_sparc(struct tg3 *tp)
{
struct net_device *dev = tp->dev;
struct pci_dev *pdev = tp->pdev;
struct pcidev_cookie *pcp = pdev->sysdata;
if (pcp != NULL) {
const unsigned char *addr;
struct device_node *dp = pci_device_to_OF_node(pdev);
unsigned char *addr;
int len;
addr = of_get_property(pcp->prom_node, "local-mac-address",
&len);
addr = of_get_property(dp, "local-mac-address", &len);
if (addr && len == 6) {
memcpy(dev->dev_addr, addr, 6);
memcpy(dev->perm_addr, dev->dev_addr, 6);
return 0;
}
}
return -ENODEV;
}
......@@ -11026,7 +11021,7 @@ static int __devinit tg3_get_device_address(struct tg3 *tp)
u32 hi, lo, mac_offset;
int addr_ok = 0;
#ifdef CONFIG_SPARC64
#ifdef CONFIG_SPARC
if (!tg3_get_macaddr_sparc(tp))
return 0;
#endif
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册