]> git.karo-electronics.de Git - karo-tx-linux.git/commit
thermal: Fix cdev registration with THERMAL_NO_LIMIT on 64bit
authorPunit Agrawal <punit.agrawal@arm.com>
Tue, 9 Dec 2014 12:22:01 +0000 (12:22 +0000)
committerEduardo Valentin <edubezval@gmail.com>
Wed, 10 Dec 2014 15:11:00 +0000 (11:11 -0400)
commita940cb34fed73b2d4809a4575f2981d5927e2c21
tree79e734bca7507b5e83e781fa48c265cd34cfe847
parentfcbb1e02ee540e1875137d36259017f91b95c30c
thermal: Fix cdev registration with THERMAL_NO_LIMIT on 64bit

The size of unsigned long varies between 32 and 64 bit systems while
the size of phandle arguments is always 32 bits per parameter.

On 64-bit systems, cooling devices registered via of-thermal apis fail
to bind when the min/max cooling state is specified as
THERMAL_NO_LIMIT (-1UL) as there is a mis-match between the value read
from the device tree (32bit) and the pre-processor define (64bit).

As we're unlikely to need cooling states larger than 32 bits, and for
consistency with the size of phandle arguments, explicitly limit
THERMAL_NO_LIMIT to 32 bits.

Reported-by: Hyungwoo Yang <hwoo.yang@gmail.com>
Acked-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Punit Agrawal <punit.agrawal@arm.com>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
include/dt-bindings/thermal/thermal.h
include/linux/thermal.h