diff options
author | John Crispin <john@openwrt.org> | 2013-07-22 13:52:32 +0000 |
---|---|---|
committer | John Crispin <john@openwrt.org> | 2013-07-22 13:52:32 +0000 |
commit | 5525b2136e90fcfc8823b519fa4aa2499f0120ba (patch) | |
tree | e614278bc48faf84a9ff7de35d9de77b7e630fb6 /target/linux/ramips/patches-3.9/0156-NET-add-of_get_mac_address_mtd.patch | |
parent | ec6954e64e7cd7e503b62ab73381cfa0adce24fc (diff) | |
download | upstream-5525b2136e90fcfc8823b519fa4aa2499f0120ba.tar.gz upstream-5525b2136e90fcfc8823b519fa4aa2499f0120ba.tar.bz2 upstream-5525b2136e90fcfc8823b519fa4aa2499f0120ba.zip |
ralink: set v3.10 as default
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 37497
Diffstat (limited to 'target/linux/ramips/patches-3.9/0156-NET-add-of_get_mac_address_mtd.patch')
-rw-r--r-- | target/linux/ramips/patches-3.9/0156-NET-add-of_get_mac_address_mtd.patch | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/target/linux/ramips/patches-3.9/0156-NET-add-of_get_mac_address_mtd.patch b/target/linux/ramips/patches-3.9/0156-NET-add-of_get_mac_address_mtd.patch deleted file mode 100644 index ba33c57f0e..0000000000 --- a/target/linux/ramips/patches-3.9/0156-NET-add-of_get_mac_address_mtd.patch +++ /dev/null @@ -1,76 +0,0 @@ -From 14b015461adfb540ee46baf432691cc9eda6c046 Mon Sep 17 00:00:00 2001 -From: John Crispin <blogic@openwrt.org> -Date: Sun, 17 Mar 2013 09:29:15 +0100 -Subject: [PATCH 156/164] NET: add of_get_mac_address_mtd() - -Many embedded devices have information such as mac addresses stored inside mtd -devices. This patch allows us to add a property inside a node describing a -network interface. The new property points at a mtd partition with an offset -where the mac address can be found. - -Signed-off-by: John Crispin <blogic@openwrt.org> ---- - drivers/of/of_net.c | 37 +++++++++++++++++++++++++++++++++++++ - include/linux/of_net.h | 1 + - 2 files changed, 38 insertions(+) - ---- a/drivers/of/of_net.c -+++ b/drivers/of/of_net.c -@@ -10,6 +10,7 @@ - #include <linux/of_net.h> - #include <linux/phy.h> - #include <linux/export.h> -+#include <linux/mtd/mtd.h> - - /** - * It maps 'enum phy_interface_t' found in include/linux/phy.h -@@ -92,3 +93,39 @@ const void *of_get_mac_address(struct de - return NULL; - } - EXPORT_SYMBOL(of_get_mac_address); -+ -+int of_get_mac_address_mtd(struct device_node *np, void *mac) -+{ -+ struct device_node *mtd_np = NULL; -+ size_t retlen; -+ int size, ret; -+ struct mtd_info *mtd; -+ const char *part; -+ const __be32 *list; -+ phandle phandle; -+ -+ list = of_get_property(np, "mtd-mac-address", &size); -+ if (!list || (size != (2 * sizeof(*list)))) -+ return -ENOENT; -+ -+ phandle = be32_to_cpup(list++); -+ if (phandle) -+ mtd_np = of_find_node_by_phandle(phandle); -+ -+ if (!mtd_np) -+ return -ENOENT; -+ -+ part = of_get_property(mtd_np, "label", NULL); -+ if (!part) -+ part = mtd_np->name; -+ -+ mtd = get_mtd_device_nm(part); -+ if (IS_ERR(mtd)) -+ return PTR_ERR(mtd); -+ -+ ret = mtd_read(mtd, be32_to_cpup(list), 6, &retlen, (u_char *) mac); -+ put_mtd_device(mtd); -+ -+ return ret; -+} -+EXPORT_SYMBOL_GPL(of_get_mac_address_mtd); ---- a/include/linux/of_net.h -+++ b/include/linux/of_net.h -@@ -11,6 +11,7 @@ - #include <linux/of.h> - extern const int of_get_phy_mode(struct device_node *np); - extern const void *of_get_mac_address(struct device_node *np); -+extern int of_get_mac_address_mtd(struct device_node *np, void *mac); - #endif - - #endif /* __LINUX_OF_NET_H */ |