|
@@ -96,16 +96,21 @@ static inline bool ssb_gige_must_flush_posted_writes(struct pci_dev *pdev)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-extern char * nvram_get(const char *name);
|
|
|
+#ifdef CONFIG_BCM47XX
|
|
|
+#include <asm/mach-bcm47xx/nvram.h>
|
|
|
/* Get the device MAC address */
|
|
|
static inline void ssb_gige_get_macaddr(struct pci_dev *pdev, u8 *macaddr)
|
|
|
{
|
|
|
-#ifdef CONFIG_BCM47XX
|
|
|
- char *res = nvram_get("et0macaddr");
|
|
|
- if (res)
|
|
|
- memcpy(macaddr, res, 6);
|
|
|
-#endif
|
|
|
+ char buf[20];
|
|
|
+ if (nvram_getenv("et0macaddr", buf, sizeof(buf)) < 0)
|
|
|
+ return;
|
|
|
+ nvram_parse_macaddr(buf, macaddr);
|
|
|
}
|
|
|
+#else
|
|
|
+static inline void ssb_gige_get_macaddr(struct pci_dev *pdev, u8 *macaddr)
|
|
|
+{
|
|
|
+}
|
|
|
+#endif
|
|
|
|
|
|
extern int ssb_gige_pcibios_plat_dev_init(struct ssb_device *sdev,
|
|
|
struct pci_dev *pdev);
|