ppc32: Fix pmac kernel build with oprofile
PATCH 1/1 ppc32: Fix pmac kernel build with oprofile
Hi !
The recent oprofile changes for Motorola e500 broke oprofile for other CPUs. This patch fixes the build.
Proper support for the G3/G4 PMCs would be interesting, and making sure the basic interrupt PC sampling still works on CPUs that don't have supported PMCs too...
Signed-off-by Benjamin Herrenschmidt <[email protected]>
arch/ppc/oprofile/Makefile +6 -1
@@ -6,4 +6,9 @@ oprofilefs.o oprofile_stats.o \ timer_int.o ) -oprofile-y := $(DRIVER_OBJS) common.o op_model_fsl_booke.o +oprofile-y := $(DRIVER_OBJS) common.o + +ifeq ($(CONFIG_FSL_BOOKE),y) + oprofile-y += op_model_fsl_booke.o +endif +
arch/ppc/oprofile/common.c +4 -6
@@ -124,7 +124,7 @@ .cpu_type = NULL /* To be filled in below. */ }; -int __init oprofile_arch_init (struct oprofile_operations **ops) +void __init oprofile_arch_init (struct oprofile_operations *ops) {char *name;int cpu_id =smp_processor_id ();
@@ -133,13 +133,13 @@ model = &op_model_fsl_booke;#else printk (KERN_ERR "oprofile enabled on unsupported processor!\n" ); -return -ENODEV ; +return ;#endif name =kmalloc (32 ,GFP_KERNEL );if (NULL == name) -return -ENOMEM ; +return ;sprintf (name,"ppc/%s" , cur_cpu_spec[cpu_id]->cpu_name);
@@ -147,12 +147,10 @@ model->num_counters = cur_cpu_spec[cpu_id]->num_pmcs; - *ops = &oprof_ppc32_ops; + *ops = oprof_ppc32_ops;printk (KERN_INFO "oprofile: using %s performance monitoring.\n" , oprof_ppc32_ops.cpu_type); - -return 0 ; }void oprofile_arch_exit (void )