Re: [PATCH v6.8 1/2] nvmem: layouts: refactor .add_cells() callback arguments

From: Miquel Raynal
Date: Tue Dec 19 2023 - 07:56:14 EST


Hi Rafał,

zajec5@xxxxxxxxx wrote on Tue, 19 Dec 2023 13:01:03 +0100:

> From: Rafał Miłecki <rafal@xxxxxxxxxx>
>
> Simply pass whole "struct nvmem_layout" instead of single variables.
> There is nothing in "struct nvmem_layout" that we have to hide from
> layout drivers. They also access it during .probe() and .remove().
>
> Thanks to this change:
>
> 1. API gets more consistent
> All layouts drivers callbacks get the same argument
>
> 2. Layouts get correct device
> Before this change NVMEM core code was passing NVMEM device instead
> of layout device. That resulted in:
> * Confusing prints
> * Calling devm_*() helpers on wrong device
> * Helpers like of_device_get_match_data() dereferencing NULLs
>
> 3. It gets possible to get match data
> First of all nvmem_layout_get_match_data() requires passing "struct
> nvmem_layout" which .add_cells() callback didn't have before this. It
> doesn't matter much as it's rather useless now anyway (and will be
> dropped).
> What's more important however is that of_device_get_match_data() can
> be used now thanks to owning a proper device pointer.
>
> Signed-off-by: Rafał Miłecki <rafal@xxxxxxxxxx>

Reviewed-by: Miquel Raynal <miquel.raynal@xxxxxxxxxxx>

Thanks,
Miquèl