All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: "Rafał Miłecki" <zajec5@gmail.com>
Cc: "Srinivas Kandagatla" <srinivas.kandagatla@linaro.org>,
	"Krzysztof Kozlowski" <krzysztof.kozlowski@canonical.com>,
	"Florian Fainelli" <f.fainelli@gmail.com>,
	"Hauke Mehrtens" <hauke@hauke-m.de>,
	bcm-kernel-feedback-list@broadcom.com,
	devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, "Rafał Miłecki" <rafal@milecki.pl>
Subject: Re: [PATCH V2 2/3] dt-bindings: nvmem: brcm, nvram: add NVMEM cell to example
Date: Thu, 17 Feb 2022 17:58:16 -0600	[thread overview]
Message-ID: <Yg7hGKWFWG4ntk+u@robh.at.kernel.org> (raw)
In-Reply-To: <20220211130554.13062-3-zajec5@gmail.com>

On Fri, Feb 11, 2022 at 02:05:53PM +0100, Rafał Miłecki wrote:
> From: Rafał Miłecki <rafal@milecki.pl>
> 
> NVRAM doesn't have cells at hardcoded addresses. They are stored in
> internal struct (custom & dynamic format) . It's still important to
> define relevant cells in DT so NVMEM consumers can reference them.
> 
> One of cells set in almost every device is "et0macaddr" containing MAC
> address. Add it to example to show how it can be referenced.
> 
> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
> ---
> V2: Add children nodes description per Rob's request
> ---
>  .../devicetree/bindings/nvmem/brcm,nvram.yaml    | 16 ++++++++++++++--
>  1 file changed, 14 insertions(+), 2 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/nvmem/brcm,nvram.yaml b/Documentation/devicetree/bindings/nvmem/brcm,nvram.yaml
> index 8c3f0cd22821..fc1df9d1c4d4 100644
> --- a/Documentation/devicetree/bindings/nvmem/brcm,nvram.yaml
> +++ b/Documentation/devicetree/bindings/nvmem/brcm,nvram.yaml
> @@ -27,11 +27,23 @@ properties:
>    reg:
>      maxItems: 1
>  
> +patternProperties:
> +  ".*":

This doesn't really work as a schema as it matches every property or 
child node.

> +    description: |
> +      Each child node represents one NVRAM entry (variable). Node name has to
> +      match variable name as internally defined in the NVRAM.
> +
> +      Some of common NVRAM variables are: "board_id", "boardflags", "boot_wait",
> +      "clkfreq", "et0macaddr", "sdram_config", "wait_time".

I meant documenting these as schema, not just in a description:

properties:
  board_id:
    type: object
    description: ...

  board_flags:
    type: object
    description: ...

I'm guessing making this list exhaustive is not possible?

> +
>  unevaluatedProperties: false

     type: object

To say anything else must be a child node.

>  
>  examples:
>    - |
>      nvram@1eff0000 {
> -            compatible = "brcm,nvram";
> -            reg = <0x1eff0000 0x10000>;
> +        compatible = "brcm,nvram";
> +        reg = <0x1eff0000 0x10000>;
> +
> +        mac: et0macaddr {
> +        };
>      };
> -- 
> 2.34.1
> 
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: "Rafał Miłecki" <zajec5@gmail.com>
Cc: "Srinivas Kandagatla" <srinivas.kandagatla@linaro.org>,
	"Krzysztof Kozlowski" <krzysztof.kozlowski@canonical.com>,
	"Florian Fainelli" <f.fainelli@gmail.com>,
	"Hauke Mehrtens" <hauke@hauke-m.de>,
	bcm-kernel-feedback-list@broadcom.com,
	devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, "Rafał Miłecki" <rafal@milecki.pl>
Subject: Re: [PATCH V2 2/3] dt-bindings: nvmem: brcm,nvram: add NVMEM cell to example
Date: Thu, 17 Feb 2022 17:58:16 -0600	[thread overview]
Message-ID: <Yg7hGKWFWG4ntk+u@robh.at.kernel.org> (raw)
In-Reply-To: <20220211130554.13062-3-zajec5@gmail.com>

On Fri, Feb 11, 2022 at 02:05:53PM +0100, Rafał Miłecki wrote:
> From: Rafał Miłecki <rafal@milecki.pl>
> 
> NVRAM doesn't have cells at hardcoded addresses. They are stored in
> internal struct (custom & dynamic format) . It's still important to
> define relevant cells in DT so NVMEM consumers can reference them.
> 
> One of cells set in almost every device is "et0macaddr" containing MAC
> address. Add it to example to show how it can be referenced.
> 
> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
> ---
> V2: Add children nodes description per Rob's request
> ---
>  .../devicetree/bindings/nvmem/brcm,nvram.yaml    | 16 ++++++++++++++--
>  1 file changed, 14 insertions(+), 2 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/nvmem/brcm,nvram.yaml b/Documentation/devicetree/bindings/nvmem/brcm,nvram.yaml
> index 8c3f0cd22821..fc1df9d1c4d4 100644
> --- a/Documentation/devicetree/bindings/nvmem/brcm,nvram.yaml
> +++ b/Documentation/devicetree/bindings/nvmem/brcm,nvram.yaml
> @@ -27,11 +27,23 @@ properties:
>    reg:
>      maxItems: 1
>  
> +patternProperties:
> +  ".*":

This doesn't really work as a schema as it matches every property or 
child node.

> +    description: |
> +      Each child node represents one NVRAM entry (variable). Node name has to
> +      match variable name as internally defined in the NVRAM.
> +
> +      Some of common NVRAM variables are: "board_id", "boardflags", "boot_wait",
> +      "clkfreq", "et0macaddr", "sdram_config", "wait_time".

I meant documenting these as schema, not just in a description:

properties:
  board_id:
    type: object
    description: ...

  board_flags:
    type: object
    description: ...

I'm guessing making this list exhaustive is not possible?

> +
>  unevaluatedProperties: false

     type: object

To say anything else must be a child node.

>  
>  examples:
>    - |
>      nvram@1eff0000 {
> -            compatible = "brcm,nvram";
> -            reg = <0x1eff0000 0x10000>;
> +        compatible = "brcm,nvram";
> +        reg = <0x1eff0000 0x10000>;
> +
> +        mac: et0macaddr {
> +        };
>      };
> -- 
> 2.34.1
> 
> 

  reply	other threads:[~2022-02-17 23:59 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-24 16:02 [PATCH 0/3] nvmem: allow specifying cells by just names in DT Rafał Miłecki
2022-01-24 16:02 ` Rafał Miłecki
2022-01-24 16:02 ` [PATCH 1/3] dt-bindings: nvmem: make "reg" property optional Rafał Miłecki
2022-01-24 16:02   ` Rafał Miłecki
2022-02-11 12:38   ` Rob Herring
2022-02-11 12:38     ` Rob Herring
2022-01-24 16:02 ` [PATCH 2/3] dt-bindings: nvmem: brcm,nvram: add NVMEM cell to example Rafał Miłecki
2022-01-24 16:02   ` [PATCH 2/3] dt-bindings: nvmem: brcm, nvram: " Rafał Miłecki
2022-02-11 12:45   ` [PATCH 2/3] dt-bindings: nvmem: brcm,nvram: " Rob Herring
2022-02-11 12:45     ` Rob Herring
2022-01-24 16:03 ` [PATCH 3/3] nvmem: core: add cell name based matching of DT cell nodes Rafał Miłecki
2022-01-24 16:03   ` Rafał Miłecki
2022-02-11 13:05 ` [PATCH V2 0/3] nvmem: allow specifying cells by just names in DT Rafał Miłecki
2022-02-11 13:05   ` Rafał Miłecki
2022-02-11 13:05   ` [PATCH V2 1/3] dt-bindings: nvmem: make "reg" property optional Rafał Miłecki
2022-02-11 13:05     ` Rafał Miłecki
2022-02-11 13:05   ` [PATCH V2 2/3] dt-bindings: nvmem: brcm,nvram: add NVMEM cell to example Rafał Miłecki
2022-02-11 13:05     ` [PATCH V2 2/3] dt-bindings: nvmem: brcm, nvram: " Rafał Miłecki
2022-02-17 23:58     ` Rob Herring [this message]
2022-02-17 23:58       ` [PATCH V2 2/3] dt-bindings: nvmem: brcm,nvram: " Rob Herring
2022-02-11 13:05   ` [PATCH V2 3/3] nvmem: core: add cell name based matching of DT cell nodes Rafał Miłecki
2022-02-11 13:05     ` Rafał Miłecki
2022-02-18  7:07 ` [PATCH V3 0/3] nvmem: allow specifying cells by just names in DT Rafał Miłecki
2022-02-18  7:07   ` Rafał Miłecki
2022-02-18  7:07   ` [PATCH V3 1/3] dt-bindings: nvmem: make "reg" property optional Rafał Miłecki
2022-02-18  7:07     ` Rafał Miłecki
2022-02-25 13:30     ` Srinivas Kandagatla
2022-02-25 13:30       ` Srinivas Kandagatla
2022-02-18  7:07   ` [PATCH V3 2/3] dt-bindings: nvmem: brcm,nvram: add basic NVMEM cells Rafał Miłecki
2022-02-18  7:07     ` Rafał Miłecki
2022-02-24 19:55     ` Rob Herring
2022-02-24 19:55       ` Rob Herring
2022-02-25 13:30     ` Srinivas Kandagatla
2022-02-25 13:30       ` Srinivas Kandagatla
2022-02-18  7:07   ` [PATCH V3 3/3] nvmem: core: add cell name based matching of DT cell nodes Rafał Miłecki
2022-02-18  7:07     ` Rafał Miłecki
2022-02-25 12:10     ` Srinivas Kandagatla
2022-02-25 12:10       ` Srinivas Kandagatla

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Yg7hGKWFWG4ntk+u@robh.at.kernel.org \
    --to=robh@kernel.org \
    --cc=bcm-kernel-feedback-list@broadcom.com \
    --cc=devicetree@vger.kernel.org \
    --cc=f.fainelli@gmail.com \
    --cc=hauke@hauke-m.de \
    --cc=krzysztof.kozlowski@canonical.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rafal@milecki.pl \
    --cc=srinivas.kandagatla@linaro.org \
    --cc=zajec5@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.