diff options
author | David S. Miller <davem@davemloft.net> | 2015-11-05 11:34:57 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-01-06 16:31:56 -0500 |
commit | c7f5d105495a38ed09e70d825f75d9d7d5407264 (patch) | |
tree | 2c111b9bb5bb557400914e31839f0d41b1018da3 /arch/sparc/kernel/idprom.c | |
parent | cdba756f5803a2f0a8bbc6605acc166dd817979e (diff) |
net: Add eth_platform_get_mac_address() helper.
A repeating pattern in drivers has become to use OF node information
and, if not found, platform specific host information to extract the
ethernet address for a given device.
Currently this is done with a call to of_get_mac_address() and then
some ifdef'd stuff for SPARC.
Consolidate this into a portable routine, and provide the
arch_get_platform_mac_address() weak function hook for all
architectures to implement if they want.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/kernel/idprom.c')
-rw-r--r-- | arch/sparc/kernel/idprom.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/sparc/kernel/idprom.c b/arch/sparc/kernel/idprom.c index 6bd75012109d..f95dd11b75ea 100644 --- a/arch/sparc/kernel/idprom.c +++ b/arch/sparc/kernel/idprom.c @@ -9,6 +9,7 @@ #include <linux/types.h> #include <linux/init.h> #include <linux/export.h> +#include <linux/etherdevice.h> #include <asm/oplib.h> #include <asm/idprom.h> @@ -60,6 +61,12 @@ static void __init display_system_type(unsigned char machtype) { } #endif + +unsigned char *arch_get_platform_mac_address(void) +{ + return idprom->id_ethaddr; +} + /* Calculate the IDPROM checksum (xor of the data bytes). */ static unsigned char __init calc_idprom_cksum(struct idprom *idprom) { |