Commit:     64bafa9db7e92d5a46402613188b71800924ca1f
Parent:     74889e41d9a1f80928130a02af9b010673bc5ba7
Author:     Jean-Christophe DUBOIS <[EMAIL PROTECTED]>
AuthorDate: Fri Jul 20 21:39:23 2007 +0200
Committer:  Arnd Bergmann <[EMAIL PROTECTED]>
CommitDate: Fri Jul 20 21:41:39 2007 +0200

    [CELL] fix cbe_cpufreq for legacy SLOF tree.
    Previous patch changed based on Christian Krafft's comment.
    On some legacy SLOF tree the generic code is unable to ioremap some Cell BE
    registers. Therefore the "generic" functions are returning a NULL pointer,
    triggering a crash on such platforms.
    Let's handle this more gracefully.
    Signed-off-by: Jean-Christophe DUBOIS <[EMAIL PROTECTED]>
    Acked-by: Christian Kraff <[EMAIL PROTECTED]>
    Signed-off-by: Arnd Bergmann <[EMAIL PROTECTED]>
 arch/powerpc/platforms/cell/cbe_cpufreq.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/arch/powerpc/platforms/cell/cbe_cpufreq.c 
index 9a99326..0b6e8ee 100644
--- a/arch/powerpc/platforms/cell/cbe_cpufreq.c
+++ b/arch/powerpc/platforms/cell/cbe_cpufreq.c
@@ -24,6 +24,7 @@
 #include <asm/machdep.h>
 #include <asm/of_platform.h>
 #include <asm/prom.h>
+#include "cbe_regs.h"
 #include "cbe_cpufreq.h"
 static DEFINE_MUTEX(cbe_switch_mutex);
@@ -78,6 +79,15 @@ static int cbe_cpufreq_cpu_init(struct cpufreq_policy 
        pr_debug("init cpufreq on CPU %d\n", policy->cpu);
+       /*
+        * Let's check we can actually get to the CELL regs
+        */
+       if (!cbe_get_cpu_pmd_regs(policy->cpu) ||
+           !cbe_get_cpu_mic_tm_regs(policy->cpu)) {
+               pr_info("invalid CBE regs pointers for cpufreq\n");
+               return -EINVAL;
+       }
        max_freqp = of_get_property(cpu, "clock-frequency", NULL);
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at

Reply via email to