On Wed, Jan 15, 2025 at 12:41 PM Sébastien Szymanski
<sebastien.szyman...@armadeus.com> wrote:
>
> The function disable_thermal_cpu_nodes() corrupts the cooling-device
> property.
> For example, booting an i.MX93 devices with only one A55 core (IMX93x1)
> with the cooling-device property set to:
>
> $ dtc -I dtb foo.dtb | grep cooling-device
> cooling-device = <0x08 0xffffffff 0xffffffff 0x09 0xffffffff 0xffffffff>;
>
> Linux shows the following error at boot:
>
> [    1.715189] OF: /thermal-zones/cpu-thermal/cooling-maps/map0: could not 
> find phandle 1083699869
> [    1.723977] thermal_sys: Add a cooling_device property with at least one 
> device
> [    1.731285] thermal thermal_zone0: binding zone cpu-thermal with cdev 
> thermal-devfreq-0 failed:-2
>
> because the cooling-device property in the device tree passed to the
> kernel is
>
> $ dtc -I dtb /sys/firmware/fdt | grep cooling-device
> cooling-device = <0x4097f29d 0x00 0xb05aef9d>;
>
> The issue is because the wrong variable type is passed to the function
> fdt_setprop() called in the function disable_thermal_cpu_nodes(). With
> the variable type fixed, the error at boot is gone and the property is
> properly set:
>
> $ dtc -I dtb /sys/firmware/fdt | grep cooling-device
> cooling-device = <0x08 0xffffffff 0xffffffff>;
>
> Signed-off-by: Sébastien Szymanski <sebastien.szyman...@armadeus.com>

Great work! Applied, thanks.

Reply via email to