net: smc911x: Properly handle EEPROM MAC address
authorAndre Przywara <andre.przywara@arm.com>
Thu, 11 Jun 2020 11:03:17 +0000 (12:03 +0100)
committerTom Rini <trini@konsulko.com>
Tue, 7 Jul 2020 22:23:48 +0000 (18:23 -0400)
commit117a52e2387bdfcf7f74c5ec6c4985cdd7c5403e
treecc170b1e26c0945b6eacf768e70c7434c119f6c0
parentf1dd05bc347b2dc6adb7d49e824b6696d090fb91
net: smc911x: Properly handle EEPROM MAC address

When compiled as a DM_ETH driver, the scm911x driver was reading the MAC
address from the optional EEPROM storage, but failed to copy this to the
platdata struct. Since it was also missing a definition of the
read_rom_hwaddr() function, the generic Ethernet code was dismissing
this MAC address, falling back to a random address or denying to start
at all.

Add an implementation of .read_rom_hwaddr, and refactor the function
reading the ROM address to be called by all interested parties.

This fixes MAC address issues when using the driver in DM_ETH "mode".

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-By: Ramon Fried <rfried.dev@gmail.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
drivers/net/smc911x.c