You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
freifunkist-firmware/target/linux/ipq806x/patches-3.18/709-stmac-platform-add-supp...

36 lines
1.1 KiB

From 5bf2dabde1fa3af0c9082b42b6847ef3fd198b13 Mon Sep 17 00:00:00 2001
From: Jonas Gorski <jogo@openwrt.org>
Date: Sun, 9 Aug 2015 12:53:55 +0200
Subject: [PATCH] stmac: platform: add support for retreiving mac from mtd
---
drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c | 10 ++++++++++
1 file changed, 10 insertions(+)
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
@@ -284,6 +284,7 @@ static int stmmac_pltfr_probe(struct pla
struct stmmac_priv *priv = NULL;
struct plat_stmmacenet_data *plat_dat = NULL;
const char *mac = NULL;
+ u8 mtd_mac[ETH_ALEN] = { };
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
addr = devm_ioremap_resource(dev, res);
@@ -313,6 +314,15 @@ static int stmmac_pltfr_probe(struct pla
pr_err("%s: main dt probe failed", __func__);
return ret;
}
+
+ if (!mac) {
+ ret = of_get_mac_address_mtd(dev->of_node, &mtd_mac);
+ if (ret == -EPROBE_DEFER)
+ return ret;
+
+ if (is_valid_ether_addr(&mtd_mac))
+ mac = mtd_mac;
+ }
}
/* Custom setup (if needed) */