Re: [PATCH 0/5] mtd: core: OTP nvmem provider support

From: Rob Herring
Date: Fri Apr 16 2021 - 14:44:28 EST


On Fri, Apr 16, 2021 at 01:49:23PM +0200, Michael Walle wrote:
> The goal is to fetch a (base) MAC address from the OTP region of a SPI NOR
> flash.
>
> This is the first part, where I try to add the nvmem provider support to
> the MTD core.
>
> I'm not sure about the device tree bindings. Consider the following two
> variants:
>
> (1)
> flash@0 {
> ..
>
> otp {
> compatible = "mtd-user-otp";

mtd is a linuxism. Why not just 'nvmem-cells' here or as a fallback if
we come up with a better name?

> #address-cells = <1>;
> #size-cells = <1>;
>
> serial-number@0 {
> reg = <0x0 0x8>;
> };
> };
> };
>
> (2)
> flash@0 {
> ..
>
> otp {
> compatible = "mtd-user-otp";
> #address-cells = <1>;
> #size-cells = <1>;
>
> some-useful-name {
> compatible = "nvmem-cells";
>
> serial-number@0 {
> reg = <0x0 0x8>;
> };
> };
> };
> };
>
> Both bindings use a subnode "opt[-N]". We cannot have the nvmem cells as
> children to the flash node because of the legacy partition binding.
>
> (1) seems to be the form which is used almost everywhere in the kernel.
> That is, the nvmem cells are just children of the parent node.
>
> (2) seem to be more natural, because there might also be other properties
> inside the otp subnode and might be more future-proof.
>
> At the moment this patch implements (1).

I think approach (1) seems fine.

Rob