metag: perf: fix build on Meta1
Meta1 doesn't support PERF_ICORE or PERF_CHAN registers resulting in build errors due to missing definitions. Fix this with an ifdef matching the one in asm/metag_mem.h. The build errors (found by a randconfig): arch/metag/kernel/perf/perf_event.c: In function 'metag_pmu_enable_counter': arch/metag/kernel/perf/perf_event.c:639: error: 'PERF_ICORE0' undeclared (first use in this function) arch/metag/kernel/perf/perf_event.c:639: error: (Each undeclared identifier is reported only once arch/metag/kernel/perf/perf_event.c:639: error: for each function it appears in.) arch/metag/kernel/perf/perf_event.c:643: error: 'PERF_CHAN0' undeclared (first use in this function) Signed-off-by: James Hogan <james.hogan@imgtec.com> Cc: linux-metag@vger.kernel.org
This commit is contained in:
Родитель
879d08ec30
Коммит
f5d163aad3
|
@ -618,6 +618,8 @@ static void metag_pmu_enable_counter(struct hw_perf_event *event, int idx)
|
||||||
|
|
||||||
/* Check for a core internal or performance channel event. */
|
/* Check for a core internal or performance channel event. */
|
||||||
if (tmp) {
|
if (tmp) {
|
||||||
|
/* PERF_ICORE/PERF_CHAN only exist since Meta2 */
|
||||||
|
#ifdef METAC_2_1
|
||||||
void *perf_addr;
|
void *perf_addr;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -640,6 +642,7 @@ static void metag_pmu_enable_counter(struct hw_perf_event *event, int idx)
|
||||||
|
|
||||||
if (perf_addr)
|
if (perf_addr)
|
||||||
metag_out32((config & 0x0f), perf_addr);
|
metag_out32((config & 0x0f), perf_addr);
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Now we use the high nibble as the performance event to
|
* Now we use the high nibble as the performance event to
|
||||||
|
|
Загрузка…
Ссылка в новой задаче