diff options
Diffstat (limited to 'drivers/cpufreq/powernow-k7.c')
| -rw-r--r-- | drivers/cpufreq/powernow-k7.c | 46 | 
1 files changed, 6 insertions, 40 deletions
diff --git a/drivers/cpufreq/powernow-k7.c b/drivers/cpufreq/powernow-k7.c index 14ce480be8a..e61e224475a 100644 --- a/drivers/cpufreq/powernow-k7.c +++ b/drivers/cpufreq/powernow-k7.c @@ -248,7 +248,7 @@ static void change_VID(int vid)  } -static void change_speed(struct cpufreq_policy *policy, unsigned int index) +static int powernow_target(struct cpufreq_policy *policy, unsigned int index)  {  	u8 fid, vid;  	struct cpufreq_freqs freqs; @@ -269,8 +269,6 @@ static void change_speed(struct cpufreq_policy *policy, unsigned int index)  	freqs.new = powernow_table[index].frequency; -	cpufreq_notify_transition(policy, &freqs, CPUFREQ_PRECHANGE); -  	/* Now do the magic poking into the MSRs.  */  	if (have_a0 == 1)	/* A0 errata 5 */ @@ -290,7 +288,7 @@ static void change_speed(struct cpufreq_policy *policy, unsigned int index)  	if (have_a0 == 1)  		local_irq_enable(); -	cpufreq_notify_transition(policy, &freqs, CPUFREQ_POSTCHANGE); +	return 0;  } @@ -533,27 +531,6 @@ static int powernow_decode_bios(int maxfid, int startvid)  } -static int powernow_target(struct cpufreq_policy *policy, -			    unsigned int target_freq, -			    unsigned int relation) -{ -	unsigned int newstate; - -	if (cpufreq_frequency_table_target(policy, powernow_table, target_freq, -				relation, &newstate)) -		return -EINVAL; - -	change_speed(policy, newstate); - -	return 0; -} - - -static int powernow_verify(struct cpufreq_policy *policy) -{ -	return cpufreq_frequency_table_verify(policy, powernow_table); -} -  /*   * We use the fact that the bus frequency is somehow   * a multiple of 100000/3 khz, then we compute sgtc according @@ -678,17 +655,11 @@ static int powernow_cpu_init(struct cpufreq_policy *policy)  	policy->cpuinfo.transition_latency =  		cpufreq_scale(2000000UL, fsb, latency); -	policy->cur = powernow_get(0); - -	cpufreq_frequency_table_get_attr(powernow_table, policy->cpu); - -	return cpufreq_frequency_table_cpuinfo(policy, powernow_table); +	return cpufreq_table_validate_and_show(policy, powernow_table);  }  static int powernow_cpu_exit(struct cpufreq_policy *policy)  { -	cpufreq_frequency_table_put_attr(policy->cpu); -  #ifdef CONFIG_X86_POWERNOW_K7_ACPI  	if (acpi_processor_perf) {  		acpi_processor_unregister_performance(acpi_processor_perf, 0); @@ -701,14 +672,9 @@ static int powernow_cpu_exit(struct cpufreq_policy *policy)  	return 0;  } -static struct freq_attr *powernow_table_attr[] = { -	&cpufreq_freq_attr_scaling_available_freqs, -	NULL, -}; -  static struct cpufreq_driver powernow_driver = { -	.verify		= powernow_verify, -	.target		= powernow_target, +	.verify		= cpufreq_generic_frequency_table_verify, +	.target_index	= powernow_target,  	.get		= powernow_get,  #ifdef CONFIG_X86_POWERNOW_K7_ACPI  	.bios_limit	= acpi_processor_get_bios_limit, @@ -716,7 +682,7 @@ static struct cpufreq_driver powernow_driver = {  	.init		= powernow_cpu_init,  	.exit		= powernow_cpu_exit,  	.name		= "powernow-k7", -	.attr		= powernow_table_attr, +	.attr		= cpufreq_generic_attr,  };  static int __init powernow_init(void)  | 
