X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fcpufreq%2Fcpufreq_userspace.c;h=5102144709559f351faa672c6b257fddfcc4a2d7;hb=9213980e6a70d8473e0ffd4b39ab5b6caaba9ff5;hp=99ac1419dc79c681d4ba2c4965432de9b181ef3c;hpb=c449269f45c2cdf53af08c8d0af37472f66539d9;p=linux-2.6.git diff --git a/drivers/cpufreq/cpufreq_userspace.c b/drivers/cpufreq/cpufreq_userspace.c index 99ac1419d..510214470 100644 --- a/drivers/cpufreq/cpufreq_userspace.c +++ b/drivers/cpufreq/cpufreq_userspace.c @@ -145,19 +145,6 @@ int cpufreq_setmax(unsigned int cpu) EXPORT_SYMBOL_GPL(cpufreq_setmax); -/** - * cpufreq_get - get the current CPU frequency (in kHz) - * @cpu: CPU number - * - * Get the CPU current (static) CPU frequency - */ -unsigned int cpufreq_get(unsigned int cpu) -{ - return cpu_cur_freq[cpu]; -} -EXPORT_SYMBOL(cpufreq_get); - - #ifdef CONFIG_CPU_FREQ_24_API @@ -219,7 +206,7 @@ cpufreq_sysctl(ctl_table *table, int __user *name, int nlen, if (oldlen != sizeof(unsigned int)) return -EINVAL; - if (put_user(cpufreq_get(cpu), (unsigned int *)oldval) || + if (put_user(cpufreq_get(cpu), (unsigned int __user *)oldval) || put_user(sizeof(unsigned int), oldlenp)) return -EFAULT; } @@ -229,7 +216,7 @@ cpufreq_sysctl(ctl_table *table, int __user *name, int nlen, if (newlen != sizeof(unsigned int)) return -EINVAL; - if (get_user(freq, (unsigned int *)newval)) + if (get_user(freq, (unsigned int __user *)newval)) return -EFAULT; cpufreq_set(freq, cpu); @@ -542,20 +529,6 @@ static int cpufreq_governor_userspace(struct cpufreq_policy *policy, return 0; } -/* on ARM SA1100 we need to rely on the values of cpufreq_get() - because - * of this, cpu_cur_freq[] needs to be set early. - */ -#if defined(CONFIG_ARM) && defined(CONFIG_ARCH_SA1100) -extern unsigned int sa11x0_getspeed(void); - -static void cpufreq_sa11x0_compat(void) -{ - cpu_cur_freq[0] = sa11x0_getspeed(); -} -#else -#define cpufreq_sa11x0_compat() do {} while(0) -#endif - struct cpufreq_governor cpufreq_gov_userspace = { .name = "userspace", @@ -564,21 +537,12 @@ struct cpufreq_governor cpufreq_gov_userspace = { }; EXPORT_SYMBOL(cpufreq_gov_userspace); -static int already_init = 0; - -int cpufreq_gov_userspace_init(void) +static int __init cpufreq_gov_userspace_init(void) { - if (!already_init) { - down(&userspace_sem); - cpufreq_sa11x0_compat(); - cpufreq_sysctl_init(); - cpufreq_register_notifier(&userspace_cpufreq_notifier_block, CPUFREQ_TRANSITION_NOTIFIER); - already_init = 1; - up(&userspace_sem); - } + cpufreq_sysctl_init(); + cpufreq_register_notifier(&userspace_cpufreq_notifier_block, CPUFREQ_TRANSITION_NOTIFIER); return cpufreq_register_governor(&cpufreq_gov_userspace); } -EXPORT_SYMBOL(cpufreq_gov_userspace_init); static void __exit cpufreq_gov_userspace_exit(void)