Skip to contentSkip to conversation

OMAP3: PM: Fix compilation error observed when cpufreq is disabled

PATCH In review Ranjith Lohithakshan 2 participants 4 messages Mar 19, 2010 – Apr 30, 2010

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 OMAP3: PM: Fix compilation error observed when cpufreq is disabled

Currently on PM branch, compilation fails when cpufreq is disabled

arch/arm/mach-omap2/clock3xxx_data.c: In function 'omap3xxx_clk_init':
arch/arm/mach-omap2/clock3xxx_data.c:3563: error: 'struct clk_functions' has no member named 'clk_init_cpufreq_table' arch/arm/mach-omap2/clock3xxx_data.c:3564: error:
'omap3_clk_init_cpufreq_table' undeclared (first use
in this function)
arch/arm/mach-omap2/clock3xxx_data.c:3564: error: (Each undeclared identifier is reported only once arch/arm/mach-omap2/clock3xxx_data.c:3564: error: for each function it appears in.)
make[1]: *** [arch/arm/mach-omap2/clock3xxx_data.o] Error 1
make: *** [arch/arm/mach-omap2] Error 2

This patch fixes the issue by avoiding runtime init of clk_init_cpufreq_table in omap3xxx_clk_init and instead doing it when omap2_clk_functions are defined.

---
 arch/arm/mach-omap2/clock.c          |    4 ++++
 arch/arm/mach-omap2/clock3xxx_data.c |    2 --
 2 files changed, 4 insertions(+), 2 deletions(-)
arch/arm/mach-omap2/clock.c +4 -0
index a6d0b34..498cb5b 100644
@@ -492,7 +492,11 @@ struct clk_functions omap2_clk_functions = {
 	.clk_disable_unused	= omap2_clk_disable_unused,
 #ifdef CONFIG_CPU_FREQ
 	/* These will be removed when the OPP code is integrated */
+#ifdef CONFIG_ARCH_OMAP3
+	.clk_init_cpufreq_table	= omap3_clk_init_cpufreq_table,
+#else
 	.clk_init_cpufreq_table	= omap2_clk_init_cpufreq_table,
+#endif
 	.clk_exit_cpufreq_table	= omap2_clk_exit_cpufreq_table,
 #endif
 };
arch/arm/mach-omap2/clock3xxx_data.c +0 -2
index 57522de..d5153b6 100644
@@ -3560,8 +3560,6 @@ int __init omap3xxx_clk_init(void)
 	else
 		dpll4_dd = dpll4_dd_34xx;
 
-	omap2_clk_functions.clk_init_cpufreq_table =
-		omap3_clk_init_cpufreq_table;
 	clk_init(&omap2_clk_functions);
 
 	for (c = omap3xxx_clks; c < omap3xxx_clks + ARRAY_SIZE(omap3xxx_clks);
Signature · 1 line
1.6.2.4
#1 lore raw
Quoted 15 lines · Ranjith Lohithakshan

Currently on PM branch, compilation fails when cpufreq is disabled

arch/arm/mach-omap2/clock3xxx_data.c: In function 'omap3xxx_clk_init':
arch/arm/mach-omap2/clock3xxx_data.c:3563: error: 'struct clk_functions' has no member named 'clk_init_cpufreq_table' arch/arm/mach-omap2/clock3xxx_data.c:3564: error:
'omap3_clk_init_cpufreq_table' undeclared (first use
in this function)
arch/arm/mach-omap2/clock3xxx_data.c:3564: error: (Each undeclared identifier is reported only once arch/arm/mach-omap2/clock3xxx_data.c:3564: error: for each function it appears in.)
make[1]: *** [arch/arm/mach-omap2/clock3xxx_data.o] Error 1
make: *** [arch/arm/mach-omap2] Error 2

Quoted 5 lines

This patch fixes the issue by avoiding runtime init of clk_init_cpufreq_table in omap3xxx_clk_init and instead doing it when omap2_clk_functions are defined.

Do you still have this problem? I'm unable to reproduce on current PM branch.

Kevin

#2 lore raw
Quoted 17 lines · Kevin Hilman
Quoted 15 lines · Ranjith Lohithakshan

Currently on PM branch, compilation fails when cpufreq is disabled

arch/arm/mach-omap2/clock3xxx_data.c: In function 'omap3xxx_clk_init':
arch/arm/mach-omap2/clock3xxx_data.c:3563: error: 'struct clk_functions' has no member named 'clk_init_cpufreq_table' arch/arm/mach-omap2/clock3xxx_data.c:3564: error:
'omap3_clk_init_cpufreq_table' undeclared (first use
in this function)
arch/arm/mach-omap2/clock3xxx_data.c:3564: error: (Each undeclared identifier is reported only once arch/arm/mach-omap2/clock3xxx_data.c:3564: error: for each function it appears in.)
make[1]: *** [arch/arm/mach-omap2/clock3xxx_data.o] Error 1
make: *** [arch/arm/mach-omap2] Error 2

Quoted 7 lines
Quoted 5 lines

This patch fixes the issue by avoiding runtime init of clk_init_cpufreq_table in omap3xxx_clk_init and instead doing it when omap2_clk_functions are defined.

Do you still have this problem? I'm unable to reproduce on current PM branch.

No, I don't see this now. Might have got fixed in some of the recent changes.

Just FYI, I now see a linkage error with omap3_evm_defconfig

arch/arm/mach-omap2/built-in.o: In function `sr_configure_vp':
/tmp/ranjith/l-o-new/arch/arm/mach-omap2/smartreflex.c:315: undefined reference to omap_twl_uv_to_vsel' /tmp/ranjith/l-o-new/arch/arm/mach-omap2/smartreflex.c:364: undefined reference to omap_twl_uv_to_vsel' arch/arm/mach-omap2/built-in.o: In function `sr_enable':
/tmp/ranjith/l-o-new/arch/arm/mach-omap2/smartreflex.c:609: undefined reference to omap_twl_uv_to_vsel' arch/arm/mach-omap2/built-in.o: In function sr_reset_voltage':
/tmp/ranjith/l-o-new/arch/arm/mach-omap2/smartreflex.c:478: undefined reference to omap_twl_uv_to_vsel' /tmp/ranjith/l-o-new/arch/arm/mach-omap2/smartreflex.c:496: undefined reference to omap_twl_uv_to_vsel'
make: *** [.tmp_vmlinux1] Error 1

- Ranjith

#3 lore raw
Quoted 31 lines · Ranjith Lohithakshan
Quoted 17 lines · Kevin Hilman
Quoted 15 lines · Ranjith Lohithakshan

Currently on PM branch, compilation fails when cpufreq is disabled

arch/arm/mach-omap2/clock3xxx_data.c: In function 'omap3xxx_clk_init':
arch/arm/mach-omap2/clock3xxx_data.c:3563: error: 'struct clk_functions' has no member named 'clk_init_cpufreq_table' arch/arm/mach-omap2/clock3xxx_data.c:3564: error:
'omap3_clk_init_cpufreq_table' undeclared (first use
in this function)
arch/arm/mach-omap2/clock3xxx_data.c:3564: error: (Each undeclared identifier is reported only once arch/arm/mach-omap2/clock3xxx_data.c:3564: error: for each function it appears in.)
make[1]: *** [arch/arm/mach-omap2/clock3xxx_data.o] Error 1
make: *** [arch/arm/mach-omap2] Error 2

Quoted 7 lines
Quoted 5 lines

This patch fixes the issue by avoiding runtime init of clk_init_cpufreq_table in omap3xxx_clk_init and instead doing it when omap2_clk_functions are defined.

Do you still have this problem? I'm unable to reproduce on current PM branch.

No, I don't see this now. Might have got fixed in some of the recent changes.

Just FYI, I now see a linkage error with omap3_evm_defconfig

Quoted 15 lines

arch/arm/mach-omap2/built-in.o: In function `sr_configure_vp':
/tmp/ranjith/l-o-new/arch/arm/mach-omap2/smartreflex.c:315: undefined reference to omap_twl_uv_to_vsel' /tmp/ranjith/l-o-new/arch/arm/mach-omap2/smartreflex.c:364: undefined reference to omap_twl_uv_to_vsel' arch/arm/mach-omap2/built-in.o: In function `sr_enable':
/tmp/ranjith/l-o-new/arch/arm/mach-omap2/smartreflex.c:609: undefined reference to omap_twl_uv_to_vsel' arch/arm/mach-omap2/built-in.o: In function sr_reset_voltage':
/tmp/ranjith/l-o-new/arch/arm/mach-omap2/smartreflex.c:478: undefined reference to omap_twl_uv_to_vsel' /tmp/ranjith/l-o-new/arch/arm/mach-omap2/smartreflex.c:496: undefined reference to omap_twl_uv_to_vsel'
make: *** [.tmp_vmlinux1] Error 1

Yes, I saw that too when trying to reproduce your problem.

SmartReflex currently has a dependency on SRF where these OPP functions are defined, and this needs to be fixed.

Kevin