[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <cdcdf549-2031-e689-f98e-0a201357a5ae@linaro.org>
Date: Fri, 10 Mar 2023 10:49:03 +0000
From: Srinivas Kandagatla <srinivas.kandagatla@...aro.org>
To: Miquel Raynal <miquel.raynal@...tlin.com>
Cc: linux-kernel@...r.kernel.org,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Michael Walle <michael@...le.cc>,
Rafał Miłecki <rafal@...ecki.pl>,
Robert Marko <robert.marko@...tura.hr>,
Luka Perkov <luka.perkov@...tura.hr>,
Thomas Petazzoni <thomas.petazzoni@...tlin.com>,
Rob Herring <robh+dt@...nel.org>,
Frank Rowand <frowand.list@...il.com>,
devicetree@...r.kernel.org
Subject: Re: [PATCH v2 11/21] nvmem: core: handle the absence of expected
layouts
On 10/03/2023 10:45, Miquel Raynal wrote:
> Hi Srinivas,
>
> srinivas.kandagatla@...aro.org wrote on Fri, 10 Mar 2023 10:30:14 +0000:
>
>> On 07/03/2023 16:53, Miquel Raynal wrote:
>>> Make nvmem_layout_get() return -EPROBE_DEFER while the expected layout
>>> is not available. This condition cannot be triggered today as nvmem
>>> layout drivers are initialed as part of an early init call, but soon
>>> these drivers will be converted into modules and be initialized with a
>>> standard priority, so the unavailability of the drivers might become a
>>> reality that must be taken care of.
>>>
>>> Let's anticipate this by telling the caller the layout might not yet be
>>> available. A probe deferral is requested in this case.
>>>
>>> Please note this does not affect any nvmem device not using layouts,
>>> because an early check against the "nvmem-layout" container presence
>>> will return NULL in this case.
>>>
>>> Signed-off-by: Miquel Raynal <miquel.raynal@...tlin.com>
>>> Tested-by: Michael Walle <michael@...le.cc>
>>> ---
>>> drivers/nvmem/core.c | 10 +++++++++-
>>> 1 file changed, 9 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c
>>> index b9be1faeb7be..51fd792b8d70 100644
>>> --- a/drivers/nvmem/core.c
>>> +++ b/drivers/nvmem/core.c
>>> @@ -755,7 +755,7 @@ EXPORT_SYMBOL_GPL(nvmem_layout_unregister);
>>> static struct nvmem_layout *nvmem_layout_get(struct nvmem_device *nvmem)
>>> {
>>
>> Any reason why this is not part of 10/21?
>
> Yes, I would like to credit everybody for his work, so Michael for the
> base implementation and myself for the module sitaution handling,
> arguing this is two different features. May we keep these separated?
Thanks for clarifying this, that should be fine.
--srini
Powered by blists - more mailing lists