ipq806x: add support for retrieving macs from mtd

Add support for mtd-mac-address for stmac.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 46793
This commit is contained in:
Jonas Gorski 2015-09-04 14:45:40 +00:00
parent 4bbfb09362
commit 05e4d736d1
2 changed files with 70 additions and 0 deletions

View file

@ -0,0 +1,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) */

View file

@ -0,0 +1,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
@@ -302,6 +302,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] = { };
int irq, wol_irq, lpi_irq;
/* Get IRQ information early to have an ability to ask for deferred
@@ -362,6 +363,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) */