[CPUFREQ] Remove deprecated /proc/acpi/processor/performance write support
Remove deprecated /proc/acpi/processor/performance write support Writing to /proc/acpi/processor/xy/performance interferes with sysfs cpufreq interface. Also removes buggy cpufreq_set_policy exported symbol. Signed-off-by: Thomas Renninger <trenn@suse.de> Signed-off-by: Dave Jones <davej@redhat.com>
This commit is contained in:
		
							parent
							
								
									22c970f346
								
							
						
					
					
						commit
						632786ce9f
					
				| @ -433,49 +433,6 @@ static int acpi_processor_perf_open_fs(struct inode *inode, struct file *file) | ||||
| 			   PDE(inode)->data); | ||||
| } | ||||
| 
 | ||||
| static ssize_t | ||||
| acpi_processor_write_performance(struct file *file, | ||||
| 				 const char __user * buffer, | ||||
| 				 size_t count, loff_t * data) | ||||
| { | ||||
| 	int result = 0; | ||||
| 	struct seq_file *m = file->private_data; | ||||
| 	struct acpi_processor *pr = m->private; | ||||
| 	struct acpi_processor_performance *perf; | ||||
| 	char state_string[12] = { '\0' }; | ||||
| 	unsigned int new_state = 0; | ||||
| 	struct cpufreq_policy policy; | ||||
| 
 | ||||
| 
 | ||||
| 	if (!pr || (count > sizeof(state_string) - 1)) | ||||
| 		return -EINVAL; | ||||
| 
 | ||||
| 	perf = pr->performance; | ||||
| 	if (!perf) | ||||
| 		return -EINVAL; | ||||
| 
 | ||||
| 	if (copy_from_user(state_string, buffer, count)) | ||||
| 		return -EFAULT; | ||||
| 
 | ||||
| 	state_string[count] = '\0'; | ||||
| 	new_state = simple_strtoul(state_string, NULL, 0); | ||||
| 
 | ||||
| 	if (new_state >= perf->state_count) | ||||
| 		return -EINVAL; | ||||
| 
 | ||||
| 	cpufreq_get_policy(&policy, pr->id); | ||||
| 
 | ||||
| 	policy.cpu = pr->id; | ||||
| 	policy.min = perf->states[new_state].core_frequency * 1000; | ||||
| 	policy.max = perf->states[new_state].core_frequency * 1000; | ||||
| 
 | ||||
| 	result = cpufreq_set_policy(&policy); | ||||
| 	if (result) | ||||
| 		return result; | ||||
| 
 | ||||
| 	return count; | ||||
| } | ||||
| 
 | ||||
| static void acpi_cpufreq_add_file(struct acpi_processor *pr) | ||||
| { | ||||
| 	struct proc_dir_entry *entry = NULL; | ||||
| @ -487,10 +444,9 @@ static void acpi_cpufreq_add_file(struct acpi_processor *pr) | ||||
| 
 | ||||
| 	/* add file 'performance' [R/W] */ | ||||
| 	entry = create_proc_entry(ACPI_PROCESSOR_FILE_PERFORMANCE, | ||||
| 				  S_IFREG | S_IRUGO | S_IWUSR, | ||||
| 				  S_IFREG | S_IRUGO, | ||||
| 				  acpi_device_dir(device)); | ||||
| 	if (entry){ | ||||
| 		acpi_processor_perf_fops.write = acpi_processor_write_performance; | ||||
| 		entry->proc_fops = &acpi_processor_perf_fops; | ||||
| 		entry->data = acpi_driver_data(device); | ||||
| 		entry->owner = THIS_MODULE; | ||||
|  | ||||
| @ -1625,43 +1625,6 @@ error_out: | ||||
| 	return ret; | ||||
| } | ||||
| 
 | ||||
| /**
 | ||||
|  *	cpufreq_set_policy - set a new CPUFreq policy | ||||
|  *	@policy: policy to be set. | ||||
|  * | ||||
|  *	Sets a new CPU frequency and voltage scaling policy. | ||||
|  */ | ||||
| int cpufreq_set_policy(struct cpufreq_policy *policy) | ||||
| { | ||||
| 	int ret = 0; | ||||
| 	struct cpufreq_policy *data; | ||||
| 
 | ||||
| 	if (!policy) | ||||
| 		return -EINVAL; | ||||
| 
 | ||||
| 	data = cpufreq_cpu_get(policy->cpu); | ||||
| 	if (!data) | ||||
| 		return -EINVAL; | ||||
| 
 | ||||
| 	if (unlikely(lock_policy_rwsem_write(policy->cpu))) | ||||
| 		return -EINVAL; | ||||
| 
 | ||||
| 
 | ||||
| 	ret = __cpufreq_set_policy(data, policy); | ||||
| 	data->user_policy.min = data->min; | ||||
| 	data->user_policy.max = data->max; | ||||
| 	data->user_policy.policy = data->policy; | ||||
| 	data->user_policy.governor = data->governor; | ||||
| 
 | ||||
| 	unlock_policy_rwsem_write(policy->cpu); | ||||
| 
 | ||||
| 	cpufreq_cpu_put(data); | ||||
| 
 | ||||
| 	return ret; | ||||
| } | ||||
| EXPORT_SYMBOL(cpufreq_set_policy); | ||||
| 
 | ||||
| 
 | ||||
| /**
 | ||||
|  *	cpufreq_update_policy - re-evaluate an existing cpufreq policy | ||||
|  *	@cpu: CPU which shall be re-evaluated | ||||
|  | ||||
| @ -257,7 +257,6 @@ struct freq_attr { | ||||
| /*********************************************************************
 | ||||
|  *                        CPUFREQ 2.6. INTERFACE                     * | ||||
|  *********************************************************************/ | ||||
| int cpufreq_set_policy(struct cpufreq_policy *policy); | ||||
| int cpufreq_get_policy(struct cpufreq_policy *policy, unsigned int cpu); | ||||
| int cpufreq_update_policy(unsigned int cpu); | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user