Skip to contentSkip to conversation

ARM: tegra: clocks: separate tegra_clk_32k_ops from Tegra20 and Tegra30

PATCH New Joseph Lo 2 participants 2 messages Aug 17, 2012

Subsystems (3)
lore
Share & tools
lore

Joseph Lo

author
#0 lore raw

PATCH 1/1 ARM: tegra: clocks: separate tegra_clk_32k_ops from Tegra20 and Tegra30

Currently the tegra20 and tegra30 share the same symbol for tegra_clk_32k_ops. This will cause a compile error when building a tegra20-only kernel image. Add tegra_clk_32k_ops for tegra20 and modify tegra30_clk_32k_ops for tegra30.

---
 arch/arm/mach-tegra/tegra20_clocks.c      |   10 ++++++++++
 arch/arm/mach-tegra/tegra30_clocks.c      |    2 +-
 arch/arm/mach-tegra/tegra30_clocks.h      |    2 +-
 arch/arm/mach-tegra/tegra30_clocks_data.c |    2 +-
 4 files changed, 13 insertions(+), 3 deletions(-)
arch/arm/mach-tegra/tegra20_clocks.c +10 -0
index b073396..ee6922b 100644
@@ -240,6 +240,16 @@ static int clk_div16_get_divider(unsigned long parent_rate, unsigned long rate)
 	return divider_u16 - 1;
 }
 
+static unsigned long tegra_clk_fixed_recalc_rate(struct clk_hw *hw,
+		unsigned long parent_rate)
+{
+	return to_clk_tegra(hw)->fixed_rate;
+}
+
+struct clk_ops tegra_clk_32k_ops = {
+	.recalc_rate = tegra_clk_fixed_recalc_rate,
+};
+
 /* clk_m functions */
 static unsigned long tegra20_clk_m_recalc_rate(struct clk_hw *hw,
 			unsigned long prate)
arch/arm/mach-tegra/tegra30_clocks.c +1 -1
index b2d0864..7dad44d 100644
@@ -489,7 +489,7 @@ static unsigned long tegra30_clk_fixed_recalc_rate(struct clk_hw *hw,
 	return to_clk_tegra(hw)->fixed_rate;
 }
 
-struct clk_ops tegra_clk_32k_ops = {
+struct clk_ops tegra30_clk_32k_ops = {
 	.recalc_rate = tegra30_clk_fixed_recalc_rate,
 };
 
arch/arm/mach-tegra/tegra30_clocks.h +1 -1
index aeb4e96..b08b8d9 100644
@@ -17,7 +17,7 @@
 #ifndef __MACH_TEGRA30_CLOCK_H
 #define __MACH_TEGRA30_CLOCK_H
 
-extern struct clk_ops tegra_clk_32k_ops;
+extern struct clk_ops tegra30_clk_32k_ops;
 extern struct clk_ops tegra30_clk_m_ops;
 extern struct clk_ops tegra_clk_m_div_ops;
 extern struct clk_ops tegra_pll_ref_ops;
arch/arm/mach-tegra/tegra30_clocks_data.c +1 -1
index dad1b2f..2271ac1 100644
@@ -58,7 +58,7 @@ static struct clk_tegra tegra_clk_32k_hw = {
 static struct clk tegra_clk_32k = {
 	.name = "clk_32k",
 	.hw = &tegra_clk_32k_hw.hw,
-	.ops = &tegra_clk_32k_ops,
+	.ops = &tegra30_clk_32k_ops,
 	.flags = CLK_IS_ROOT,
 };
 
Signature · 1 line
1.7.0.4
#1 lore raw

PATCH 1/1 ARM: tegra: clocks: separate tegra_clk_32k_ops from Tegra20 and Tegra30

Quoted 6 lines · Joseph Lo

Currently the tegra20 and tegra30 share the same symbol for tegra_clk_32k_ops. This will cause a compile error when building a tegra20-only kernel image. Add tegra_clk_32k_ops for tegra20 and modify tegra30_clk_32k_ops for tegra30.

Thanks, applied to Tegra's for-3.7/common-clk branch.