[lkml]   [2018]   [Mar]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH v2] of_net: Implement of_get_nvmem_mac_address helper
On 26-03-18 19:05, Florian Fainelli wrote:
> On 03/26/2018 09:58 AM, David Miller wrote:
>> From: Mike Looijmans <>
>> Date: Mon, 26 Mar 2018 08:41:29 +0200
>>> It's common practice to store MAC addresses for network interfaces into
>>> nvmem devices. However the code to actually do this in the kernel lacks,
>>> so this patch adds of_get_nvmem_mac_address() for drivers to obtain the
>>> address from an nvmem cell provider.
>>> This is particulary useful on devices where the ethernet interface cannot
>>> be configured by the bootloader, for example because it's in an FPGA.
>>> Tested by adapting the cadence macb driver to call this instead of
>>> of_get_mac_address().
>>> Signed-off-by: Mike Looijmans <>
>>> ---
>>> v2: Use of_nvmem_cell_get to avoid needing the assiciated device
>>> Use void* instead of char*
>>> Add devicetree binding doc
>> Like Andrew, I think you should add a new interface for getting the MAC
>> address from nvmem.
>> And drivers can call both of them if they want OF device tree and
>> NVMEM probing for MAC addresses.
>> Later you can add a consolidated interface, if necessary, which does
>> both and also take a reference to the MAC address buffer of the driver
>> in order to deal with the resource allocation issues.
> Agreed, also, how does this fit with Alban's patch series here:

Ok, makes sense. I'll cook up a v3.

> do you depend on those changes at all?

As far as I can tell, there's no dependency, I'm adding an nvmem
"consumer" while Alban's patch adds a "provider". I'm mainly interested
in storing the MAC address into an I2C EEPROM, which you can also buy
with a pre-programmed MAC address in the first 6 bytes, so there's no
production cost for managing that.

Alban's patch might some day collide with my idea of making hardware
that has some unique ID into nvmem providers, like 1-wire chips, some
NOR flash chips (there's the conflict) and various other devices. That
would allow a board to obtain a random yet constant MAC address without
any additional hardware. I'll cross that bridge when I find it.

Mike Looijmans

 \ /
  Last update: 2018-03-26 20:22    [W:0.039 / U:5.676 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site