Re: [PATCH net-next 1/3] dt-bindings: net: add nvmem-mac-address-offset property

From: Michael Walle
Date: Wed May 12 2021 - 12:53:36 EST


[adding Srinivas Kandagatla and Ansuel Smith]

Am 2021-04-16 00:27, schrieb Michael Walle:
Am 2021-04-15 23:59, schrieb Rob Herring:
On Wed, Apr 14, 2021 at 05:43:49PM +0200, Andrew Lunn wrote:
On Wed, Apr 14, 2021 at 05:26:55PM +0200, Michael Walle wrote:
> It is already possible to read the MAC address via a NVMEM provider. But
> there are boards, esp. with many ports, which only have a base MAC
> address stored. Thus we need to have a way to provide an offset per
> network device.

We need to see what Rob thinks of this. There was recently a patchset
to support swapping the byte order of the MAC address in a NVMEM. Rob
said the NVMEM provider should have the property, not the MAC driver.
This does seems more ethernet specific, so maybe it should be an
Ethernet property?

There was also this one[1]. I'm not totally opposed, but don't want to
see a never ending addition of properties to try to describe any
possible transformation.

Agreed, that stuff like ASCII MAC address parsing should be done
elsewhere. But IMHO adding an offset is a pretty common one (as also
pointed out in [1]). And it also need to be a per ethernet device
property.

I'm a bit up in the air on this, as I don't know how to proceed here.

To cite Rob from IRC:
Not really up to me. All the people that care need to come up with
something flexible enough for common/simple cases and that's not
going to get extended with every new variation. What I don't want is
a one-off that's then extended with another one-off.

I already pointed out that this property is per consumer as opposed
to something like endianess swap or parsing a given format. The latter
operates on the nvmem cell.

One random idea is to have a nvmem-cells-transformation (in the lack of
a better name) property for consumers, where you can have some kind of
simple operations like add:
nvmem-cells-transformation = <NVMEM_ADD 1>
But is that something we really want to have? I'm not sure.

btw. given that there might be other means where a base mac address can
come from in the future, it might make sense to drop the "nvmem-"
prefix and just use "mac-address-offset" (or "base-mac-address-offset"?).

[1] https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20200920095724.8251-4-ansuelsmth@xxxxxxxxx/

-michael