diff options
Diffstat (limited to 'drivers/cpufreq/longhaul.c')
| -rw-r--r-- | drivers/cpufreq/longhaul.c | 10 | 
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/cpufreq/longhaul.c b/drivers/cpufreq/longhaul.c index f1fa500ac10..1180d536d1e 100644 --- a/drivers/cpufreq/longhaul.c +++ b/drivers/cpufreq/longhaul.c @@ -77,7 +77,7 @@ static unsigned int longhaul_index;  static int scale_voltage;  static int disable_acpi_c3;  static int revid_errata; - +static int enable;  /* Clock ratios multiplied by 10 */  static int mults[32]; @@ -965,6 +965,10 @@ static int __init longhaul_init(void)  	if (!x86_match_cpu(longhaul_id))  		return -ENODEV; +	if (!enable) { +		printk(KERN_ERR PFX "Option \"enable\" not set. Aborting.\n"); +		return -ENODEV; +	}  #ifdef CONFIG_SMP  	if (num_online_cpus() > 1) {  		printk(KERN_ERR PFX "More than 1 CPU detected, " @@ -1021,6 +1025,10 @@ MODULE_PARM_DESC(scale_voltage, "Scale voltage of processor");   * such. */  module_param(revid_errata, int, 0644);  MODULE_PARM_DESC(revid_errata, "Ignore CPU Revision ID"); +/* By default driver is disabled to prevent incompatible + * system freeze. */ +module_param(enable, int, 0644); +MODULE_PARM_DESC(enable, "Enable driver");  MODULE_AUTHOR("Dave Jones <davej@redhat.com>");  MODULE_DESCRIPTION("Longhaul driver for VIA Cyrix processors.");  |