Re: [1/2] build failure for E500 CPUs w/ CONFIG_OPROFLE=y
From: Kumar Gala <hidden>
Date: 2006-10-26 13:57:59
On Oct 26, 2006, at 1:43 AM, Vitaly Wool wrote:
Below is the patch for the problem described in "[0/2] build failure for 8540 w/ CONFIG_OPROFLE=y" letter representing the first approach. This approach is based on (pretty reasonable) assumption that op_model_7450.c is applicable only to 6XX, so let's compile it only when CONFIG_6XX==y. This results in more #ifdef's in arch/ powerpc/oprofile/common.c, which doesn't look good to me. I'd rather "switch (cur_cpu_spec->oprofile_type) ..." to SoC-dependent header files arranging that one as static inline func... Anyway, here's the patch. arch/powerpc/oprofile/Makefile | 2 +- arch/powerpc/oprofile/common.c | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) Signed-off-by: Vitaly Wool <redacted>
This makes sense to me since we are just increasing kernel code size for code we would never use for an FSL_BOOKE part if we do it the other way. I dont think its that much more messy with the ifdef's. If you want to do the other cleanup as well I've got no issue with that, but we really should NOT build in support for 7450 into a FSL_BOOKE kernel when reasonably avoidable. - kumar
quoted hunk ↗ jump to hunk
Index: linux-2.6.18/arch/powerpc/oprofile/Makefile ===================================================================--- linux-2.6.18.orig/arch/powerpc/oprofile/Makefile +++ linux-2.6.18/arch/powerpc/oprofile/Makefile@@ -13,4 +13,4 @@ DRIVER_OBJS := $(addprefix ../../../driv oprofile-y := $(DRIVER_OBJS) common.o backtrace.o oprofile-$(CONFIG_PPC64) += op_model_rs64.o op_model_power4.o oprofile-$(CONFIG_FSL_BOOKE) += op_model_fsl_booke.o -oprofile-$(CONFIG_PPC32) += op_model_7450.o +oprofile-$(CONFIG_6XX) += op_model_7450.oIndex: linux-2.6.18/arch/powerpc/oprofile/common.c ===================================================================--- linux-2.6.18.orig/arch/powerpc/oprofile/common.c +++ linux-2.6.18/arch/powerpc/oprofile/common.c@@ -135,19 +135,18 @@ int __init oprofile_arch_init(struct opr return -ENODEV; switch (cur_cpu_spec->oprofile_type) { -#ifdef CONFIG_PPC64 +#if defined(CONFIG_PPC64) case PPC_OPROFILE_RS64: model = &op_model_rs64; break; case PPC_OPROFILE_POWER4: model = &op_model_power4; break; -#else +#elif defined (CONFIG_6XX) case PPC_OPROFILE_G4: model = &op_model_7450; break; -#endif -#ifdef CONFIG_FSL_BOOKE +#elif defined (CONFIG_FSL_BOOKE) case PPC_OPROFILE_BOOKE: model = &op_model_fsl_booke; break;_______________________________________________ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded