1
0
Fork 0
alistair23-linux/drivers/net/ethernet
Thomas Petazzoni 8cc3e439ab net: mvneta: read MAC address from hardware when available
This patch improves the logic used by the mvneta driver to find a MAC
address for a particular interface. Until now, it was only looking at
the Device Tree, and if no address was found, was falling back to
generating a random MAC address.

This patch adds the intermediate solution of reading the MAC address
from the hardware registers, in case it has been set by the
bootloader. So the order is now:

 1) MAC address from the Device Tree
 2) MAC address from the hardware registers
 3) Random MAC address

This requires moving the MAC address initialization a little bit later
in the ->probe() code, because it now requires the hardware registers
to be remapped.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Cc: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-06-04 17:23:51 -07:00
..
3com 3c59x: remove useless VORTEX_PCI() invocations 2013-05-20 13:34:20 -07:00
8390 net: ethernet: remove unnecessary platform_set_drvdata() 2013-05-27 22:34:51 -07:00
adaptec net: vlan: add protocol argument to packet tagging functions 2013-04-19 14:46:06 -04:00
adi net: ethernet: remove unnecessary platform_set_drvdata() 2013-05-27 22:34:51 -07:00
aeroflex net: ethernet: use platform_{get,set}_drvdata() 2013-05-25 21:27:58 -07:00
allwinner net: sun4i-emac: fix a typo in emac_probe() 2013-06-04 17:19:57 -07:00
alteon net/ethernet/alteon/acenic: Use module_pci_driver to register driver 2013-05-22 14:35:04 -07:00
amd net: ethernet: remove unnecessary platform_set_drvdata() 2013-05-27 22:34:51 -07:00
apple net: Revert unused variable changes. 2013-05-23 12:15:32 -07:00
atheros net/ethernet/atheros/atlx/atl1: Use module_pci_driver to register driver 2013-05-22 14:35:03 -07:00
broadcom tg3: remove redundant pm init code 2013-06-03 00:48:11 -07:00
brocade bna: Driver and Firmware Updated 2013-05-20 14:07:59 -07:00
cadence net: ethernet: remove unnecessary platform_set_drvdata() 2013-05-27 22:34:51 -07:00
calxeda net: ethernet: remove unnecessary platform_set_drvdata() 2013-05-27 22:34:51 -07:00
chelsio cxgb4: Force uninitialized state if FW_ON_ADAPTER is < FW_VERSION and we're the MASTER_PF 2013-05-31 17:25:43 -07:00
cirrus net: ethernet: remove unnecessary platform_set_drvdata() 2013-05-27 22:34:51 -07:00
cisco net: vlan: add protocol argument to packet tagging functions 2013-04-19 14:46:06 -04:00
davicom net: ethernet: remove unnecessary platform_set_drvdata() 2013-05-27 22:34:51 -07:00
dec tulip: remove redundant D0 power state set 2013-05-31 01:39:08 -07:00
dlink drivers:net: Remove unnecessary OOM messages after netdev_alloc_skb 2013-03-09 16:09:19 -05:00
emulex be2net: Implement initiate FW dump feature for Lancer 2013-05-31 17:25:43 -07:00
faraday net: ethernet: remove unnecessary platform_set_drvdata() 2013-05-27 22:34:51 -07:00
freescale net: ethernet: remove unnecessary platform_set_drvdata() 2013-05-27 22:34:51 -07:00
fujitsu Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2013-05-01 14:08:52 -07:00
hp drivers/net: fix up function prototypes after __dev* removals 2012-12-07 14:22:22 -05:00
i825xx drivers:net: Remove unnecessary OOM messages after netdev_alloc_skb 2013-03-09 16:09:19 -05:00
ibm ibm-ethernet: delete stale MCA and duplicate PSERIES dependency 2013-06-03 00:24:31 -07:00
icplus Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-05-24 16:48:28 -07:00
intel IXGBE: Set the SW prio_tc values at initialization to the HW setting. 2013-05-21 03:14:21 -07:00
marvell net: mvneta: read MAC address from hardware when available 2013-06-04 17:23:51 -07:00
mellanox net/mlx4: Strengthen VLAN tags/priorities enforcement in VST mode 2013-05-11 16:12:44 -07:00
micrel net: micrel : ks8851-ml: add dt support 2013-05-27 23:17:53 -07:00
microchip net: ethernet: enc28j60: use spi_get_drvdata() and spi_set_drvdata() 2013-04-07 16:48:19 -04:00
myricom net: vlan: add protocol argument to packet tagging functions 2013-04-19 14:46:06 -04:00
natsemi net: vlan: add protocol argument to packet tagging functions 2013-04-19 14:46:06 -04:00
neterion net: vlan: add protocol argument to packet tagging functions 2013-04-19 14:46:06 -04:00
nuvoton net: ethernet: remove unnecessary platform_set_drvdata() 2013-05-27 22:34:51 -07:00
nvidia net/ethernet/nvidia/forcedeth: Use module_pci_driver to register driver 2013-05-22 14:35:05 -07:00
nxp net: ethernet: remove unnecessary platform_set_drvdata() 2013-05-27 22:34:51 -07:00
octeon net: ethernet: use platform_{get,set}_drvdata() 2013-05-25 21:27:58 -07:00
oki-semi pch_gbe: minor: report the actual error on MTU change 2013-04-16 16:43:35 -04:00
packetengines Driver core patches for 3.9-rc1 2013-02-21 12:05:51 -08:00
pasemi drivers:net: dma_alloc_coherent: use __GFP_ZERO instead of memset(, 0) 2013-03-17 12:50:24 -04:00
qlogic net: ethernet: replace strict_strtoul() with kstrtoul() 2013-06-03 00:39:46 -07:00
rdc drivers:net: Remove unnecessary OOM messages after netdev_alloc_skb 2013-03-09 16:09:19 -05:00
realtek 8139cp: reset BQL when ring tx ring cleared 2013-05-20 14:02:35 -07:00
renesas net: ethernet: remove unnecessary platform_set_drvdata() 2013-05-27 22:34:51 -07:00
seeq net: ethernet: remove unnecessary platform_set_drvdata() 2013-05-27 22:34:51 -07:00
sfc net: pass info struct via netdevice notifier 2013-05-28 13:11:01 -07:00
sgi net: ethernet: remove unnecessary platform_set_drvdata() 2013-05-27 22:34:51 -07:00
silan net/ethernet/silan/sc92031: Use module_pci_driver to register driver 2013-05-22 14:35:03 -07:00
sis net/ethernet/sis/sis190: Use module_pci_driver to register driver 2013-05-22 14:35:03 -07:00
smsc net: ethernet: remove unnecessary platform_set_drvdata() 2013-05-27 22:34:51 -07:00
stmicro net: ethernet: remove unnecessary platform_set_drvdata() 2013-05-27 22:34:51 -07:00
sun net: ethernet: use platform_{get,set}_drvdata() 2013-05-25 21:27:58 -07:00
tehuti net: vlan: add protocol argument to packet tagging functions 2013-04-19 14:46:06 -04:00
ti drivers: net: ethernet: cpsw: add phy-mode support to cpsw driver 2013-06-04 14:17:22 -07:00
tile tile: support new Tilera hypervisor 2013-05-02 16:20:31 -04:00
toshiba net/ethernet/toshiba/tc35815: Use module_pci_driver to register driver 2013-05-22 14:35:04 -07:00
tundra net: ethernet: remove unnecessary platform_set_drvdata() 2013-05-27 22:34:51 -07:00
via net: velocity: Add platform device support to VIA velocity driver 2013-05-20 13:40:39 -07:00
wiznet net: ethernet: remove unnecessary platform_set_drvdata() 2013-05-27 22:34:51 -07:00
xilinx net: emaclite: Fix typo in error message 2013-06-04 16:44:40 -07:00
xircom Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2013-05-01 14:08:52 -07:00
xscale net: ethernet: remove unnecessary platform_set_drvdata() 2013-05-27 22:34:51 -07:00
Kconfig net: Add EMAC ethernet driver found on Allwinner A10 SoC's 2013-05-31 17:23:07 -07:00
Makefile net: Add EMAC ethernet driver found on Allwinner A10 SoC's 2013-05-31 17:23:07 -07:00
dnet.c net: phy: remove flags argument from phy_{attach, connect, connect_direct} 2013-01-14 15:11:50 -05:00
dnet.h
ethoc.c net: ethernet: remove unnecessary platform_set_drvdata() 2013-05-27 22:34:51 -07:00
fealnx.c drivers/net: fix up function prototypes after __dev* removals 2012-12-07 14:22:22 -05:00
jme.c net, jme: remove redundant D0 power state set 2013-05-31 01:39:08 -07:00
jme.h
korina.c net: ethernet: remove unnecessary platform_set_drvdata() 2013-05-27 22:34:51 -07:00
lantiq_etop.c lantiq_etop: use free_netdev(netdev) instead of kfree() 2013-03-21 11:50:10 -04:00
netx-eth.c net: ethernet: remove unnecessary platform_set_drvdata() 2013-05-27 22:34:51 -07:00
s6gmac.c net: ethernet: remove unnecessary platform_set_drvdata() 2013-05-27 22:34:51 -07:00