On 05/07/2024 10:08, Daniel Lezcano wrote:
On 05/07/2024 07:56, Krzysztof Kozlowski wrote:
On 04/07/2024 18:41, Daniel Lezcano wrote:
On 04/07/2024 10:52, Neil Armstrong wrote:
If the thermal core tries to update the temperature from an
uninitialized power supply, it will swawn the following warning:
thermal thermal_zoneXX: failed to read out thermal zone (-19)
But reading from an uninitialized power supply should not be
considered as a fatal error, but the thermal core expects
the -EAGAIN error to be returned in this particular case.
So convert -ENODEV as -EAGAIN to express the fact that reading
temperature from an uninitialized power supply shouldn't be
a fatal error, but should indicate to the thermal zone it should
retry later.
It notably removes such messages on Qualcomm platforms using the
qcom_battmgr driver spawning warnings until the aDSP firmware
gets up and the battery manager reports valid data.
Is it possible to have the aDSP firmware ready first ?
I don't think so. ADSP firmware is a file, so as every firmware it can
be loaded from rootfs, not initramfs (unlike this driver), or even missing.
Ok, said differently, can't we initialize the thermal zone after the firmware is loaded ?
This is the goal, but this can't be a fix but a proper rework.
I think changing power_supply_core.c is not the right solution.
qcom_battmgr_bat_get_property() should return -EAGAIN instead of
-ENODEV.