Re: [PM-WIP_CPUFREQ][PATCH v4 2/4] OMAP2+: cpufreq: use OPP library

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jun 2, 2011 at 17:45, Kevin Hilman <khilman@xxxxxx> wrote:
> 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
>
>
Fine with me. thanks for it. it achieves what I needed as well :)

Regards,
Nishanth Menon
--
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


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux