diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2006-03-21 12:08:21 -0500 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2006-03-21 12:08:21 -0500 |
commit | ac58c9059da8886b5e8cde012a80266b18ca146e (patch) | |
tree | 40bf486843a2cace6c3a959d73423e50e6aa0c00 /arch/sparc64/kernel/us2e_cpufreq.c | |
parent | df6db302cb236ac3a683d535a3e2073d9f4b2833 (diff) | |
parent | c4a1745aa09fc110afdefea0e5d025043e348bae (diff) |
Merge branch 'linus'
Diffstat (limited to 'arch/sparc64/kernel/us2e_cpufreq.c')
-rw-r--r-- | arch/sparc64/kernel/us2e_cpufreq.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/arch/sparc64/kernel/us2e_cpufreq.c b/arch/sparc64/kernel/us2e_cpufreq.c index b35dc8dc995a..1f83fe6a82d6 100644 --- a/arch/sparc64/kernel/us2e_cpufreq.c +++ b/arch/sparc64/kernel/us2e_cpufreq.c | |||
@@ -346,6 +346,9 @@ static int __init us2e_freq_init(void) | |||
346 | unsigned long manuf, impl, ver; | 346 | unsigned long manuf, impl, ver; |
347 | int ret; | 347 | int ret; |
348 | 348 | ||
349 | if (tlb_type != spitfire) | ||
350 | return -ENODEV; | ||
351 | |||
349 | __asm__("rdpr %%ver, %0" : "=r" (ver)); | 352 | __asm__("rdpr %%ver, %0" : "=r" (ver)); |
350 | manuf = ((ver >> 48) & 0xffff); | 353 | manuf = ((ver >> 48) & 0xffff); |
351 | impl = ((ver >> 32) & 0xffff); | 354 | impl = ((ver >> 32) & 0xffff); |
@@ -354,20 +357,16 @@ static int __init us2e_freq_init(void) | |||
354 | struct cpufreq_driver *driver; | 357 | struct cpufreq_driver *driver; |
355 | 358 | ||
356 | ret = -ENOMEM; | 359 | ret = -ENOMEM; |
357 | driver = kmalloc(sizeof(struct cpufreq_driver), GFP_KERNEL); | 360 | driver = kzalloc(sizeof(struct cpufreq_driver), GFP_KERNEL); |
358 | if (!driver) | 361 | if (!driver) |
359 | goto err_out; | 362 | goto err_out; |
360 | memset(driver, 0, sizeof(*driver)); | ||
361 | 363 | ||
362 | us2e_freq_table = kmalloc( | 364 | us2e_freq_table = kzalloc( |
363 | (NR_CPUS * sizeof(struct us2e_freq_percpu_info)), | 365 | (NR_CPUS * sizeof(struct us2e_freq_percpu_info)), |
364 | GFP_KERNEL); | 366 | GFP_KERNEL); |
365 | if (!us2e_freq_table) | 367 | if (!us2e_freq_table) |
366 | goto err_out; | 368 | goto err_out; |
367 | 369 | ||
368 | memset(us2e_freq_table, 0, | ||
369 | (NR_CPUS * sizeof(struct us2e_freq_percpu_info))); | ||
370 | |||
371 | driver->init = us2e_freq_cpu_init; | 370 | driver->init = us2e_freq_cpu_init; |
372 | driver->verify = us2e_freq_verify; | 371 | driver->verify = us2e_freq_verify; |
373 | driver->target = us2e_freq_target; | 372 | driver->target = us2e_freq_target; |