[PATCH v5 00/21] nvmem: core: introduce NVMEM layouts

Michael Walle michael at walle.cc
Thu Jan 5 04:11:37 PST 2023


Hi Alexander,

thanks for debugging. I'm not yet sure what is going wrong, so
I have some more questions below.

>> This causes the following errors on existing boards (imx8mq-tqma8mq-
>> mba8mx.dtb):
>> root at tqma8-common:~# uname -r
>> 6.2.0-rc2-next-20230105
>> 
>> > OF: /soc at 0: could not get #nvmem-cell-cells for /soc at 0/bus at 30000000/
>> efuse at 30350000/soc-uid at 4
>> > OF: /soc at 0/bus at 30800000/ethernet at 30be0000: could not get #nvmem-cell-cells
>> for /soc at 0/bus at 30000000/efuse at 30350000/mac-address at 90
>> 
>> These are caused because '#nvmem-cell-cells = <0>;' is not explicitly 
>> set in
>> DT.
>> 
>> > TI DP83867 30be0000.ethernet-1:0e: error -EINVAL: failed to get nvmem cell
>> io_impedance_ctrl
>> > TI DP83867: probe of 30be0000.ethernet-1:0e failed with error -22
>> 
>> These are caused because of_nvmem_cell_get() now returns -EINVAL 
>> instead of -
>> ENODEV if the requested nvmem cell is not available.

What do you mean with not available? Not yet available because of probe
order?

> Should we just assume #nvmem-cell-cells = <0> by default? I guess it's
> a safe assumption.

Actually, that's what patch 2/21 is for.

Alexander, did you verify that the EINVAL is returned by
of_parse_phandle_with_optional_args()?

-michael



More information about the linux-arm-kernel mailing list