projects
/
powerpc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'audit.b3' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit...
[powerpc.git]
/
arch
/
sparc64
/
kernel
/
us3_cpufreq.c
diff --git
a/arch/sparc64/kernel/us3_cpufreq.c
b/arch/sparc64/kernel/us3_cpufreq.c
index
0340041
..
47e3aca
100644
(file)
--- a/
arch/sparc64/kernel/us3_cpufreq.c
+++ b/
arch/sparc64/kernel/us3_cpufreq.c
@@
-203,6
+203,9
@@
static int __init us3_freq_init(void)
unsigned long manuf, impl, ver;
int ret;
unsigned long manuf, impl, ver;
int ret;
+ if (tlb_type != cheetah && tlb_type != cheetah_plus)
+ return -ENODEV;
+
__asm__("rdpr %%ver, %0" : "=r" (ver));
manuf = ((ver >> 48) & 0xffff);
impl = ((ver >> 32) & 0xffff);
__asm__("rdpr %%ver, %0" : "=r" (ver));
manuf = ((ver >> 48) & 0xffff);
impl = ((ver >> 32) & 0xffff);
@@
-215,20
+218,16
@@
static int __init us3_freq_init(void)
struct cpufreq_driver *driver;
ret = -ENOMEM;
struct cpufreq_driver *driver;
ret = -ENOMEM;
- driver = k
m
alloc(sizeof(struct cpufreq_driver), GFP_KERNEL);
+ driver = k
z
alloc(sizeof(struct cpufreq_driver), GFP_KERNEL);
if (!driver)
goto err_out;
if (!driver)
goto err_out;
- memset(driver, 0, sizeof(*driver));
- us3_freq_table = k
m
alloc(
+ us3_freq_table = k
z
alloc(
(NR_CPUS * sizeof(struct us3_freq_percpu_info)),
GFP_KERNEL);
if (!us3_freq_table)
goto err_out;
(NR_CPUS * sizeof(struct us3_freq_percpu_info)),
GFP_KERNEL);
if (!us3_freq_table)
goto err_out;
- memset(us3_freq_table, 0,
- (NR_CPUS * sizeof(struct us3_freq_percpu_info)));
-
driver->init = us3_freq_cpu_init;
driver->verify = us3_freq_verify;
driver->target = us3_freq_target;
driver->init = us3_freq_cpu_init;
driver->verify = us3_freq_verify;
driver->target = us3_freq_target;
@@
-249,10
+248,8
@@
err_out:
kfree(driver);
cpufreq_us3_driver = NULL;
}
kfree(driver);
cpufreq_us3_driver = NULL;
}
- if (us3_freq_table) {
- kfree(us3_freq_table);
- us3_freq_table = NULL;
- }
+ kfree(us3_freq_table);
+ us3_freq_table = NULL;
return ret;
}
return ret;
}
@@
-263,7
+260,6
@@
static void __exit us3_freq_exit(void)
{
if (cpufreq_us3_driver) {
cpufreq_unregister_driver(cpufreq_us3_driver);
{
if (cpufreq_us3_driver) {
cpufreq_unregister_driver(cpufreq_us3_driver);
-
kfree(cpufreq_us3_driver);
cpufreq_us3_driver = NULL;
kfree(us3_freq_table);
kfree(cpufreq_us3_driver);
cpufreq_us3_driver = NULL;
kfree(us3_freq_table);