[PATCH 2/4] nvmem: core: allow nvmem_cell_post_process_t callbacks to adjust buffer

Rafał Miłecki rafal at milecki.pl
Thu Mar 9 12:52:37 CET 2023


On 2023-03-09 12:44, Srinivas Kandagatla wrote:
> On 09/03/2023 11:23, Miquel Raynal wrote:
>> Hi Srinivas,
>> 
>> srinivas.kandagatla at linaro.org wrote on Thu, 9 Mar 2023 10:53:07 
>> +0000:
>> 
>>> On 09/03/2023 10:32, Miquel Raynal wrote:
>>>> Hi Srinivas,
>>>> 
>>>> srinivas.kandagatla at linaro.org wrote on Thu, 9 Mar 2023 10:12:24 
>>>> +0000:
>>>> 
>>>>> On 22/02/2023 17:22, Rafał Miłecki wrote:
>>>>>> @@ -1791,11 +1792,15 @@ ssize_t nvmem_device_cell_read(struct 
>>>>>> nvmem_device *nvmem,
>>>>>>     	if (!nvmem)
>>>>>>     		return -EINVAL;
>>>>>>     > +	/* Cells with read_post_process hook may realloc buffer we 
>>>>>> can't allow here */
>>>>>> +	if (info->read_post_process)
>>>>>> +		return -EINVAL;
>>>>> This should probably go in 1/4 patch. Other than that series looks 
>>>>> good to me.
>>>> 
>>>> FYI patch 1/4 is also carried by the nvmem-layouts series, so it's
>>>> probably best to keep these 2 patches separated to simplify the 
>>>> merging.
>>> that is intermediate thing, but Ideally this change belongs to 1/4 
>>> patch, so once I apply these patches then we can always rebase layout 
>>> series on top of nvmem-next
>> 
>> Well, I still don't see the need for this patch because we have no use
>> for it *after* the introduction of layouts. Yes in some cases changing
>> the size of a cell might maybe be needed, but right now the use case 
>> is
>> to provide a MAC address, we know beforehand the size of the cell, so
>> there is no need, currently, for this hack.
>> 
> Am confused, should I ignore this series ?

I'm confused no less.

I think we have 3 different opinions and no agreement on how to proceed.


Rafał (me):
NVMEM cells should be registered as they are in the raw format. No size
adjustments should happen while registering them. If NVMEM cell requires
some read post-processing then its size should be adjusted *while*
reading.


Michael:
.read_post_process() should be realloc the buffer


Miquel:
While registering NVMEM cell its size should be already adjusted to
match what .read_post_process() is about to return.


I'm really sorry if I got anyone's view wrong.


More information about the U-Boot mailing list