Thermal: Allow first update of cooling device state
authorNi Wade <wni@nvidia.com>
Mon, 17 Feb 2014 03:02:55 +0000 (11:02 +0800)
committerZhang Rui <rui.zhang@intel.com>
Mon, 3 Mar 2014 15:15:29 +0000 (23:15 +0800)
In initialization, if the cooling device is initialized at
max cooling state, and the thermal zone temperature is below
the first trip point, then the cooling state can't be updated
to the right state, untill the first trip point be triggered.

To fix this issue, allow first update of cooling device state
during registration, initialized "updated" device field as
"false" (instead of "true").

Signed-off-by: Wei Ni <wni@nvidia.com>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
drivers/thermal/thermal_core.c

index 338a88b..02f57af 100644 (file)
@@ -1107,7 +1107,7 @@ __thermal_cooling_device_register(struct device_node *np,
        INIT_LIST_HEAD(&cdev->thermal_instances);
        cdev->np = np;
        cdev->ops = ops;
-       cdev->updated = true;
+       cdev->updated = false;
        cdev->device.class = &thermal_class;
        cdev->devdata = devdata;
        dev_set_name(&cdev->device, "cooling_device%d", cdev->id);