aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZhang Rui <rui.zhang@intel.com>2008-10-17 02:41:20 -0400
committerLen Brown <len.brown@intel.com>2008-10-17 02:42:03 -0400
commit22a94d79a34bf010d11996d30eed8ee3fc1a4fbf (patch)
tree5213d9bc43c0613a4606e8d2928f2e17f7f74c2c
parent7745384080ef70f7710530afa3e45477b126e056 (diff)
ACPI: Allow overriding to higher critical trip point.
http://bugzilla.kernel.org/show_bug.cgi?id=9129 lenb: Note that overriding a critical trip point may simply fool the user into thinking that they have control that they do not actually have. For it is EC firmware that decides when the EC sends Linux temperature change events, and the EC may or may not decide to send Linux these events anywhere in the neighborhood of the fake override trip points. Beware. note also that thermal.nocrt is already available to disable crtical trip point actios, and thermal.crt=-1 is already available to disabled critical trip points entirely. Signed-off-by: Zhang Rui <rui.zhang@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
-rw-r--r--Documentation/kernel-parameters.txt2
-rw-r--r--drivers/acpi/thermal.c8
2 files changed, 6 insertions, 4 deletions
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 1150444a21ab..070742360a29 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -2146,7 +2146,7 @@ and is between 256 and 4096 characters. It is defined in the file
2146 2146
2147 thermal.crt= [HW,ACPI] 2147 thermal.crt= [HW,ACPI]
2148 -1: disable all critical trip points in all thermal zones 2148 -1: disable all critical trip points in all thermal zones
2149 <degrees C>: lower all critical trip points 2149 <degrees C>: override all critical trip points
2150 2150
2151 thermal.nocrt= [HW,ACPI] 2151 thermal.nocrt= [HW,ACPI]
2152 Set to disable actions on ACPI thermal zone 2152 Set to disable actions on ACPI thermal zone
diff --git a/drivers/acpi/thermal.c b/drivers/acpi/thermal.c
index e052a75c29ce..e9e17dfc5dc2 100644
--- a/drivers/acpi/thermal.c
+++ b/drivers/acpi/thermal.c
@@ -388,10 +388,12 @@ static int acpi_thermal_trips_update(struct acpi_thermal *tz, int flag)
388 } else if (crt > 0) { 388 } else if (crt > 0) {
389 unsigned long crt_k = CELSIUS_TO_KELVIN(crt); 389 unsigned long crt_k = CELSIUS_TO_KELVIN(crt);
390 /* 390 /*
391 * Allow override to lower critical threshold 391 * Allow override critical threshold
392 */ 392 */
393 if (crt_k < tz->trips.critical.temperature) 393 if (crt_k > tz->trips.critical.temperature)
394 tz->trips.critical.temperature = crt_k; 394 printk(KERN_WARNING PREFIX
395 "Critical threshold %d C\n", crt);
396 tz->trips.critical.temperature = crt_k;
395 } 397 }
396 } 398 }
397 } 399 }