Forráskód Böngészése

[PATCH] ppc32: fix build with oprofile

Current -git tree doesn't build when enabling oprofile on a non-bookE CPU
(like on a PowerMac for example).  While there is no performance counter
support for these CPUs implemented yet, it's still nice to be able to use
the timer based sampling, and that got broken.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Benjamin Herrenschmidt 19 éve
szülő
commit
244bc050d5
2 módosított fájl, 6 hozzáadás és 3 törlés
  1. 1 2
      arch/ppc/kernel/Makefile
  2. 5 1
      arch/ppc/kernel/perfmon.c

+ 1 - 2
arch/ppc/kernel/Makefile

@@ -15,9 +15,8 @@ extra-y				+= vmlinux.lds
 obj-y				:= entry.o traps.o irq.o idle.o time.o misc.o \
 obj-y				:= entry.o traps.o irq.o idle.o time.o misc.o \
 					process.o signal.o ptrace.o align.o \
 					process.o signal.o ptrace.o align.o \
 					semaphore.o syscalls.o setup.o \
 					semaphore.o syscalls.o setup.o \
-					cputable.o ppc_htab.o
+					cputable.o ppc_htab.o perfmon.o
 obj-$(CONFIG_6xx)		+= l2cr.o cpu_setup_6xx.o
 obj-$(CONFIG_6xx)		+= l2cr.o cpu_setup_6xx.o
-obj-$(CONFIG_E500)		+= perfmon.o
 obj-$(CONFIG_SOFTWARE_SUSPEND)	+= swsusp.o
 obj-$(CONFIG_SOFTWARE_SUSPEND)	+= swsusp.o
 obj-$(CONFIG_POWER4)		+= cpu_setup_power4.o
 obj-$(CONFIG_POWER4)		+= cpu_setup_power4.o
 obj-$(CONFIG_MODULES)		+= module.o ppc_ksyms.o
 obj-$(CONFIG_MODULES)		+= module.o ppc_ksyms.o

+ 5 - 1
arch/ppc/kernel/perfmon.c

@@ -45,7 +45,7 @@ static void dummy_perf(struct pt_regs *regs)
 	mtpmr(PMRN_PMGC0, pmgc0);
 	mtpmr(PMRN_PMGC0, pmgc0);
 }
 }
 
 
-#else
+#elif CONFIG_6xx
 /* Ensure exceptions are disabled */
 /* Ensure exceptions are disabled */
 
 
 static void dummy_perf(struct pt_regs *regs)
 static void dummy_perf(struct pt_regs *regs)
@@ -55,6 +55,10 @@ static void dummy_perf(struct pt_regs *regs)
 	mmcr0 &= ~MMCR0_PMXE;
 	mmcr0 &= ~MMCR0_PMXE;
 	mtspr(SPRN_MMCR0, mmcr0);
 	mtspr(SPRN_MMCR0, mmcr0);
 }
 }
+#else
+static void dummy_perf(struct pt_regs *regs)
+{
+}
 #endif
 #endif
 
 
 void (*perf_irq)(struct pt_regs *) = dummy_perf;
 void (*perf_irq)(struct pt_regs *) = dummy_perf;