aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLen Brown <len.brown@intel.com>2007-08-12 00:12:17 -0400
committerLen Brown <len.brown@intel.com>2007-08-12 00:12:17 -0400
commit72b33ef8bb1ac7f6c5a16d23304ab25ddc73d93d (patch)
tree2f5b2860984f4e0a903298c527ea69faed8c9a05
parent3864e8ccbba1dcdea87398ab80fdc8ae0fab7c45 (diff)
ACPI: thermal: create "thermal.off=1" to disable ACPI thermal support
"thermal.off=1" disables all ACPI thermal support at boot time. CONFIG_ACPI_THERMAL=n can do this at build time. "# rmmod thermal" can do this at run time, as long as thermal is built as a module. WARNING: On some systems, disabling ACPI thermal support will cause the system to run hotter and reduce the lifetime of the hardware. Signed-off-by: Len Brown <len.brown@intel.com>
-rw-r--r--Documentation/kernel-parameters.txt3
-rw-r--r--drivers/acpi/thermal.c9
2 files changed, 11 insertions, 1 deletions
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index a326487a3ab5..de3300c9056a 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -1820,6 +1820,9 @@ and is between 256 and 4096 characters. It is defined in the file
1820 thash_entries= [KNL,NET] 1820 thash_entries= [KNL,NET]
1821 Set number of hash buckets for TCP connection 1821 Set number of hash buckets for TCP connection
1822 1822
1823 thermal.off= [HW,ACPI]
1824 1: disable ACPI thermal control
1825
1823 time Show timing data prefixed to each printk message line 1826 time Show timing data prefixed to each printk message line
1824 [deprecated, see 'printk.time'] 1827 [deprecated, see 'printk.time']
1825 1828
diff --git a/drivers/acpi/thermal.c b/drivers/acpi/thermal.c
index 5a62de1b7f2a..61337d969d7f 100644
--- a/drivers/acpi/thermal.c
+++ b/drivers/acpi/thermal.c
@@ -78,6 +78,10 @@ static int tzp;
78module_param(tzp, int, 0); 78module_param(tzp, int, 0);
79MODULE_PARM_DESC(tzp, "Thermal zone polling frequency, in 1/10 seconds.\n"); 79MODULE_PARM_DESC(tzp, "Thermal zone polling frequency, in 1/10 seconds.\n");
80 80
81static int off;
82module_param(off, int, 0);
83MODULE_PARM_DESC(off, "Set to disable ACPI thermal support.\n");
84
81static int acpi_thermal_add(struct acpi_device *device); 85static int acpi_thermal_add(struct acpi_device *device);
82static int acpi_thermal_remove(struct acpi_device *device, int type); 86static int acpi_thermal_remove(struct acpi_device *device, int type);
83static int acpi_thermal_resume(struct acpi_device *device); 87static int acpi_thermal_resume(struct acpi_device *device);
@@ -1285,7 +1289,10 @@ static int __init acpi_thermal_init(void)
1285{ 1289{
1286 int result = 0; 1290 int result = 0;
1287 1291
1288 1292 if (off) {
1293 printk(KERN_NOTICE "ACPI: thermal control disabled\n");
1294 return -ENODEV;
1295 }
1289 acpi_thermal_dir = proc_mkdir(ACPI_THERMAL_CLASS, acpi_root_dir); 1296 acpi_thermal_dir = proc_mkdir(ACPI_THERMAL_CLASS, acpi_root_dir);
1290 if (!acpi_thermal_dir) 1297 if (!acpi_thermal_dir)
1291 return -ENODEV; 1298 return -ENODEV;