linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
To: Vadym Kochan <vadym.kochan@plvision.eu>
Cc: Rob Herring <robh+dt@kernel.org>,
	linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
	Robert Marko <robert.marko@sartura.hr>
Subject: Re: [PATCH v2 1/3] nvmem: core: introduce cells parser
Date: Mon, 20 Sep 2021 12:32:46 +0100	[thread overview]
Message-ID: <1da03714-8f23-1004-e89a-891e4599e04a@linaro.org> (raw)
In-Reply-To: <vrcxh2o88nbias.fsf@plvision.eu>



On 20/09/2021 12:25, Vadym Kochan wrote:
>>> Or, treat cells with length "0" in a special way and allow to update
>>> cell info later.you can update irrespective of the length, as long as this is done
>> before register.
>>
>>
>>>> };
>>>>
>>>> some_dev_node {
>>>> 	compatible = "xxx";
>>>> 	nvmem-cells = <&mac_address>;
>>>> 	nvmem-cell-names = "mac-address";
>>>> };
>>>>
>>>> == CODE ==
>>>> ret = of_get_mac_address(dev->of_node, base_mac);
>>>> ==========
>>>>
>>>>
>>>> If you notice the mac_address node reg is 0.
>>>> This node "reg" property should be updated ( using of_update_property())
>>>> by nvmem-provider driver while tlv parsing and by matching the node name
>>>> with tlv name.
>>>>
>>> I assume parser driver can just invoke add_cell_table (with may be
>>> by adding 'bool update' field to the cell_info struct) and core.c will just
>>> update existing cells parsed from OF.
>>>
>> Lets keep the core code clean for now, I would expect the provider
>> driver along with parser function to do update the nodes.
>>
>> --srini
>>
> core.c sequence:
> 
> 1) after cells parsed from OF:
> 
> 2) lookup the parser
> 
> 3) parser->cells_parse(ctx, table)
> 
> 3.a) update existing cells matched by name from table
> 
> 4) parser->cells_clean(ctx, table)
> /* to free cell's_info allocated by the parser driver */
> 
> as alternative way, I think it would be more generic to
> provide nvmem-provider.h API to update the existing cell info,
> however it makes sense only when cells were parsed
> by the cell parser, in the other situations the
> cell should be well defined.
> 
> with this approach the parser driver will be just called
> via parser->cells_parse(ctx) and will call nvmem_cell_info_update()
> for each parsed cells.

TBH, This is an over kill.

In nvmem provider driver probe you can parse the tlv data and update the 
dt nodes before nvmem register.

rest of the code should just work as it is.

--srini


> 

  reply	other threads:[~2021-09-20 11:32 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-08 19:03 [PATCH v2 0/3] nvmem: add ONIE NVMEM cells parser Vadym Kochan
2021-06-08 19:03 ` [PATCH v2 1/3] nvmem: core: introduce " Vadym Kochan
2021-06-08 22:49   ` kernel test robot
2021-06-09  3:05   ` kernel test robot
2021-06-14 10:44   ` Srinivas Kandagatla
2021-06-16 12:33     ` Vadym Kochan
2021-06-21 11:00       ` Srinivas Kandagatla
2021-09-08  9:38         ` Vadym Kochan
2021-09-13 14:19           ` Srinivas Kandagatla
2021-09-20 10:24             ` Vadym Kochan
2021-09-20 10:36               ` Srinivas Kandagatla
2021-09-20 11:25                 ` Vadym Kochan
2021-09-20 11:32                   ` Srinivas Kandagatla [this message]
2021-09-20 12:29                     ` Vadym Kochan
2021-09-20 12:34                       ` Srinivas Kandagatla
2021-09-20 13:29                         ` Vadym Kochan
2021-09-20 13:40                           ` Srinivas Kandagatla
2021-09-21  5:50                             ` John Thomson
2021-09-27  7:50                               ` Vadym Kochan
2021-09-27 10:12                                 ` Srinivas Kandagatla
2021-09-28 13:31                                   ` Vadym Kochan
2021-09-28 13:51                                     ` Srinivas Kandagatla
2021-09-28 14:11                                       ` Vadym Kochan
2021-09-28 14:39                                         ` Srinivas Kandagatla
2021-09-27 10:12                               ` Srinivas Kandagatla
2021-09-27 12:38                                 ` John Thomson
2021-09-08  9:44     ` Vadym Kochan
2021-06-08 19:03 ` [PATCH v2 2/3] dt-bindings: nvmem: document nvmem-cells-parser-name property Vadym Kochan
2021-06-18 20:59   ` Rob Herring
2021-06-08 19:03 ` [PATCH v2 3/3] nvmem: add ONIE nvmem cells parser Vadym Kochan
2021-08-06 15:39   ` Jan Lübbe
2021-09-08  9:56     ` Vadym Kochan
2021-09-12 21:06       ` John Thomson
2021-09-13 14:20         ` 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=1da03714-8f23-1004-e89a-891e4599e04a@linaro.org \
    --to=srinivas.kandagatla@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robert.marko@sartura.hr \
    --cc=robh+dt@kernel.org \
    --cc=vadym.kochan@plvision.eu \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).