Nishanth Menon <nm@xxxxxx> writes: > OMAP2 is the only family using clk_[init|exit]_cpufreq_table, however, > the cpufreq code has does not use clk_init_cpufreq_table. As a result, > it is unusuable for OMAP2 and only usable only on platforms using OPP > library. > > So move the compilation for cpufreq only if OPP is available for the > architecture and deny OMAP2 in multi-OMAP builds until OMAP2 is fixed. > > Signed-off-by: Nishanth Menon <nm@xxxxxx> I updated this patch slightly, preferring a more generic failure mode, namely just failing with a warning on init when no OPPs are present. I tested this on 3430/n900 by simply commenting out the omap_init_opp_table() for OMAP3. CPUfreq init fails predictably with platform mpu.0: opp_init_cpufreq_table: Device OPP not found (-19) platform mpu.0: omap_cpu_init: cpu0: failed creating freq table[-19] So CPUfreq driver never gets registered. Updated patch below. If you're OK with this change, I'll apply it to pm-wip/cpufreq. Kevin >From 22f1704e2ec30816e34b3d46a4c61513441fce8d Mon Sep 17 00:00:00 2001 From: Nishanth Menon <nm@xxxxxx> Date: Thu, 26 May 2011 19:39:18 -0700 Subject: [PATCH 2/4] OMAP2+: cpufreq: only supports OPP library OMAP2 is the only family using clk_[init|exit]_cpufreq_table, however, the cpufreq code does not currently use clk_init_cpufreq_table. As a result, it is unusuable for OMAP2 and only usable only on platforms using OPP library. Remove the unbalanced clk_exit_cpufreq_table(). Any platforms where OPPs are not availble will fail on init because a freq table will not be properly initialized. Signed-off-by: Nishanth Menon <nm@xxxxxx> [khilman@xxxxxx: changelog edits, and graceful failure mode changes] Acked-by: Kevin Hilman <khilman@xxxxxx> --- arch/arm/mach-omap2/omap2plus-cpufreq.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-omap2/omap2plus-cpufreq.c b/arch/arm/mach-omap2/omap2plus-cpufreq.c index acf18e8..3af7cda 100644 --- a/arch/arm/mach-omap2/omap2plus-cpufreq.c +++ b/arch/arm/mach-omap2/omap2plus-cpufreq.c @@ -1,7 +1,7 @@ /* * OMAP2PLUS cpufreq driver * - * CPU frequency scaling for OMAP + * CPU frequency scaling for OMAP using OPP information * * Copyright (C) 2005 Nokia Corporation * Written by Tony Lindgren <tony@xxxxxxxxxxx> @@ -203,7 +203,6 @@ static int __cpuinit omap_cpu_init(struct cpufreq_policy *policy) static int omap_cpu_exit(struct cpufreq_policy *policy) { - clk_exit_cpufreq_table(&freq_table); clk_put(mpu_clk); return 0; } -- 1.7.4 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html