Roger Quadros <ext-roger.quadros@xxxxxxxxx> writes: > From: Roger Quadros <ext-roger.quadros@xxxxxxxxx> > Date: Wed, 8 Apr 2009 17:12:43 +0300 > Subject: [PATCH] PM: OMAP: Fix build with CONFIG_OMAP_PM_NONE set > > Removes undefined symbol link errors when CONFIG_OMAP_PM is set. > The required symbols are defined in common.c and omap-pm.h > Dummy variables mpu_oops, dsp_oops and l3_oops have to be defined > because they are used in a number of places > > It fixes the following link errors > > arch/arm/mach-omap2/built-in.o: In function `omap3_round_to_table_rate': > arch/arm/mach-omap2/clock34xx.c:956: undefined reference to `mpu_opps' > arch/arm/mach-omap2/clock34xx.c:956: undefined reference to `dsp_opps' > arch/arm/mach-omap2/clock34xx.c:956: undefined reference to `l3_opps' > arch/arm/mach-omap2/built-in.o: In function `omap2_init_common_hw': > arch/arm/mach-omap2/io.c:241: undefined reference to > `omap_pm_if_early_init' > arch/arm/mach-omap2/io.c:246: undefined reference to `omap_pm_if_init' > make: *** [.tmp_vmlinux1] Error 1 > > Signed-off-by: Roger Quadros <ext-roger.quadros@xxxxxxxxx> Thanks, pushing to PM branch today. Kevin > --- > arch/arm/plat-omap/common.c | 6 ++++++ > arch/arm/plat-omap/include/mach/omap-pm.h | 8 ++++++++ > 2 files changed, 14 insertions(+), 0 deletions(-) > > diff --git a/arch/arm/plat-omap/common.c b/arch/arm/plat-omap/common.c > index 2866612..634ca39 100644 > --- a/arch/arm/plat-omap/common.c > +++ b/arch/arm/plat-omap/common.c > @@ -46,6 +46,12 @@ int omap_bootloader_tag_len; > struct omap_board_config_kernel *omap_board_config; > int omap_board_config_size; > > +#ifdef CONFIG_OMAP_PM_NONE > +struct omap_opp *mpu_opps; > +struct omap_opp *dsp_opps; > +struct omap_opp *l3_opps; > +#endif > + > #ifdef CONFIG_OMAP_BOOT_TAG > > static int __init parse_tag_omap(const struct tag *tag) > diff --git a/arch/arm/plat-omap/include/mach/omap-pm.h > b/arch/arm/plat-omap/include/mach/omap-pm.h > index f0bbd36..5526e89 100644 > --- a/arch/arm/plat-omap/include/mach/omap-pm.h > +++ b/arch/arm/plat-omap/include/mach/omap-pm.h > @@ -58,9 +58,13 @@ extern struct omap_opp *l3_opps; > * framework starts. The "_if_" is to avoid name collisions with the > * PM idle-loop code. > */ > +#ifdef CONFIG_OMAP_PM_NONE > +#define omap_pm_if_early_init(a, b, c) 0 > +#else > int __init omap_pm_if_early_init(struct omap_opp *mpu_opp_table, > struct omap_opp *dsp_opp_table, > struct omap_opp *l3_opp_table); > +#endif > > /** > * omap_pm_if_init - OMAP PM init code called after clock fw init > @@ -68,7 +72,11 @@ int __init omap_pm_if_early_init(struct omap_opp *mpu_opp_table, > * The main initialization code. OPP tables are passed in here. The > * "_if_" is to avoid name collisions with the PM idle-loop code. > */ > +#ifdef CONFIG_OMAP_PM_NONE > +#define omap_pm_if_init() 0 > +#else > int __init omap_pm_if_init(void); > +#endif > > /** > * omap_pm_if_exit - OMAP PM exit code > -- > 1.5.6.3 -- 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