diff options
author | Rafał Miłecki <rafal@milecki.pl> | 2023-12-19 13:01:03 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2024-01-04 17:01:13 +0100 |
commit | 401df0d4f4098ecc9c5278da2f50756d62e5b37d (patch) | |
tree | 6b1b30fac997560ed254eb5a1fe1b330f8ec3a81 /net/hsr | |
parent | ppdev: Remove usage of the deprecated ida_simple_xx() API (diff) | |
download | linux-401df0d4f4098ecc9c5278da2f50756d62e5b37d.tar.xz linux-401df0d4f4098ecc9c5278da2f50756d62e5b37d.zip |
nvmem: layouts: refactor .add_cells() callback arguments
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@milecki.pl>
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: Michael Walle <michael@walle.cc>
Link: https://lore.kernel.org/r/20231219120104.3422-1-zajec5@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net/hsr')
0 files changed, 0 insertions, 0 deletions