diff options
| author | Tony Lindgren <tony@atomide.com> | 2012-11-13 13:32:24 -0800 | 
|---|---|---|
| committer | Tony Lindgren <tony@atomide.com> | 2012-11-13 13:32:24 -0800 | 
| commit | 558a0780b0a04862a678f7823215424b4e5501f9 (patch) | |
| tree | d68f98b9a905557ad95ba97090e99087da30fabd /arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c | |
| parent | 89ab216b33ba9405880fd3d89531305a931bc70f (diff) | |
| parent | f9ae32a74f0242cbef76d9baa10993d707be1714 (diff) | |
| download | olio-linux-3.10-558a0780b0a04862a678f7823215424b4e5501f9.tar.xz olio-linux-3.10-558a0780b0a04862a678f7823215424b4e5501f9.zip  | |
Merge tag 'omap-cleanup-c-for-3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into omap-for-v3.8/clock
Convert the OMAP2+ clock code and data to rely on the common
clock framework for internal bookkeeping and the driver API.
Basic test logs for this branch on top of Tony's cleanup-prcm branch
at commit c9d501e5cb0238910337213e12a09127221c35d8 are here:
http://www.pwsan.com/omap/testlogs/common_clk_devel_3.8_rebase/20121112192516/
However, cleanup-prcm at c9d501e5 does not include some fixes
that are needed for a successful test.  With several reverts,
fixes, and workarounds applied, the following test logs were
obtained:
http://www.pwsan.com/omap/testlogs/TEST_common_clk_devel_3.8_rebase/20121112192300/
which indicate that the series tests cleanly.
N.B. The common clock data addition patches result in many
checkpatch warnings of the form "WARNING: static const char *
array should probably be static const char * const".  However, it
appears that resolving these would require changes to the CCF
itself.  So the resolution of these warnings is being postponed
until that can be coordinated.
These patches result in a ~55KiB increase in runtime kernel memory
usage when booting omap2plus_defconfig kernels.
Conflicts:
	arch/arm/mach-omap2/clock33xx_data.c
	arch/arm/mach-omap2/clock3xxx_data.c
	arch/arm/mach-omap2/clock44xx_data.c
Diffstat (limited to 'arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c')
| -rw-r--r-- | arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c | 9 | 
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c b/arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c index b9b981bac9d..7af224208a2 100644 --- a/arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c +++ b/arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c @@ -59,7 +59,8 @@ static unsigned long sys_ck_rate;   *   * Set virt_prcm_set's rate to the mpu_speed field of the current PRCM set.   */ -unsigned long omap2_table_mpu_recalc(struct clk *clk) +unsigned long omap2_table_mpu_recalc(struct clk_hw *clk, +				     unsigned long parent_rate)  {  	return curr_prcm_set->mpu_speed;  } @@ -71,7 +72,8 @@ unsigned long omap2_table_mpu_recalc(struct clk *clk)   * Some might argue L3-DDR, others ARM, others IVA. This code is simple and   * just uses the ARM rates.   */ -long omap2_round_to_table_rate(struct clk *clk, unsigned long rate) +long omap2_round_to_table_rate(struct clk_hw *hw, unsigned long rate, +			       unsigned long *parent_rate)  {  	const struct prcm_config *ptr;  	long highest_rate; @@ -94,7 +96,8 @@ long omap2_round_to_table_rate(struct clk *clk, unsigned long rate)  }  /* Sets basic clocks based on the specified rate */ -int omap2_select_table_rate(struct clk *clk, unsigned long rate) +int omap2_select_table_rate(struct clk_hw *hw, unsigned long rate, +			    unsigned long parent_rate)  {  	u32 cur_rate, done_rate, bypass = 0, tmp;  	const struct prcm_config *prcm;  |