diff options
Diffstat (limited to 'drivers/net/tg3.c')
-rw-r--r-- | drivers/net/tg3.c | 31 |
1 files changed, 13 insertions, 18 deletions
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index 45b4e018b5e0..6aef1e95d39a 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c | |||
@@ -46,10 +46,9 @@ | |||
46 | #include <asm/byteorder.h> | 46 | #include <asm/byteorder.h> |
47 | #include <asm/uaccess.h> | 47 | #include <asm/uaccess.h> |
48 | 48 | ||
49 | #ifdef CONFIG_SPARC64 | 49 | #ifdef CONFIG_SPARC |
50 | #include <asm/idprom.h> | 50 | #include <asm/idprom.h> |
51 | #include <asm/oplib.h> | 51 | #include <asm/prom.h> |
52 | #include <asm/pbm.h> | ||
53 | #endif | 52 | #endif |
54 | 53 | ||
55 | #if defined(CONFIG_VLAN_8021Q) || defined(CONFIG_VLAN_8021Q_MODULE) | 54 | #if defined(CONFIG_VLAN_8021Q) || defined(CONFIG_VLAN_8021Q_MODULE) |
@@ -10988,24 +10987,20 @@ static int __devinit tg3_get_invariants(struct tg3 *tp) | |||
10988 | return err; | 10987 | return err; |
10989 | } | 10988 | } |
10990 | 10989 | ||
10991 | #ifdef CONFIG_SPARC64 | 10990 | #ifdef CONFIG_SPARC |
10992 | static int __devinit tg3_get_macaddr_sparc(struct tg3 *tp) | 10991 | static int __devinit tg3_get_macaddr_sparc(struct tg3 *tp) |
10993 | { | 10992 | { |
10994 | struct net_device *dev = tp->dev; | 10993 | struct net_device *dev = tp->dev; |
10995 | struct pci_dev *pdev = tp->pdev; | 10994 | struct pci_dev *pdev = tp->pdev; |
10996 | struct pcidev_cookie *pcp = pdev->sysdata; | 10995 | struct device_node *dp = pci_device_to_OF_node(pdev); |
10997 | 10996 | unsigned char *addr; | |
10998 | if (pcp != NULL) { | 10997 | int len; |
10999 | const unsigned char *addr; | 10998 | |
11000 | int len; | 10999 | addr = of_get_property(dp, "local-mac-address", &len); |
11001 | 11000 | if (addr && len == 6) { | |
11002 | addr = of_get_property(pcp->prom_node, "local-mac-address", | 11001 | memcpy(dev->dev_addr, addr, 6); |
11003 | &len); | 11002 | memcpy(dev->perm_addr, dev->dev_addr, 6); |
11004 | if (addr && len == 6) { | 11003 | return 0; |
11005 | memcpy(dev->dev_addr, addr, 6); | ||
11006 | memcpy(dev->perm_addr, dev->dev_addr, 6); | ||
11007 | return 0; | ||
11008 | } | ||
11009 | } | 11004 | } |
11010 | return -ENODEV; | 11005 | return -ENODEV; |
11011 | } | 11006 | } |
@@ -11026,7 +11021,7 @@ static int __devinit tg3_get_device_address(struct tg3 *tp) | |||
11026 | u32 hi, lo, mac_offset; | 11021 | u32 hi, lo, mac_offset; |
11027 | int addr_ok = 0; | 11022 | int addr_ok = 0; |
11028 | 11023 | ||
11029 | #ifdef CONFIG_SPARC64 | 11024 | #ifdef CONFIG_SPARC |
11030 | if (!tg3_get_macaddr_sparc(tp)) | 11025 | if (!tg3_get_macaddr_sparc(tp)) |
11031 | return 0; | 11026 | return 0; |
11032 | #endif | 11027 | #endif |