aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ipq806x/patches-3.18/709-stmac-platform-add-support-for-retreiving-mac-from-m.patch
blob: 68222ceea794051992118f69ce63ea11ceb9d70d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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) */