diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-05-17 02:50:38 +0300 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-05-17 02:50:38 +0300 |
commit | ce6a01c2d50e1d400cb6d492841f9b1932034fc2 (patch) | |
tree | 16a8fd6f9250b019daa9afaacb33fe42e2d01a74 /arch/metag | |
parent | bc231d9ede99518b67a77544d9084f15b898fe2e (diff) | |
parent | 096a8b6d5e7ab9f8ca3d2474b3ca6a1fe79e0371 (diff) | |
download | linux-ce6a01c2d50e1d400cb6d492841f9b1932034fc2.tar.xz |
Merge tag 'metag-for-v4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag
Pull metag architecture updates from James Hogan:
"Three minor fixes:
- removal of stale comment
- fix build for Meta1 when perf events are enabled
- fix inline asm constraint in atomics"
* tag 'metag-for-v4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag:
metag: Fix atomic_*_return inline asm constraints
metag: perf: fix build on Meta1
metag: ftrace: remove the misleading comment for ftrace_dyn_arch_init
Diffstat (limited to 'arch/metag')
-rw-r--r-- | arch/metag/include/asm/atomic_lnkget.h | 2 | ||||
-rw-r--r-- | arch/metag/kernel/ftrace.c | 1 | ||||
-rw-r--r-- | arch/metag/kernel/perf/perf_event.c | 3 |
3 files changed, 4 insertions, 2 deletions
diff --git a/arch/metag/include/asm/atomic_lnkget.h b/arch/metag/include/asm/atomic_lnkget.h index a62581815624..88fa25fae8bd 100644 --- a/arch/metag/include/asm/atomic_lnkget.h +++ b/arch/metag/include/asm/atomic_lnkget.h @@ -61,7 +61,7 @@ static inline int atomic_##op##_return(int i, atomic_t *v) \ " CMPT %0, #HI(0x02000000)\n" \ " BNZ 1b\n" \ : "=&d" (temp), "=&da" (result) \ - : "da" (&v->counter), "bd" (i) \ + : "da" (&v->counter), "br" (i) \ : "cc"); \ \ smp_mb(); \ diff --git a/arch/metag/kernel/ftrace.c b/arch/metag/kernel/ftrace.c index ac8c039b0318..f7b23d300881 100644 --- a/arch/metag/kernel/ftrace.c +++ b/arch/metag/kernel/ftrace.c @@ -115,7 +115,6 @@ int ftrace_make_call(struct dyn_ftrace *rec, unsigned long addr) return ftrace_modify_code(ip, old, new); } -/* run from kstop_machine */ int __init ftrace_dyn_arch_init(void) { return 0; diff --git a/arch/metag/kernel/perf/perf_event.c b/arch/metag/kernel/perf/perf_event.c index 2478ec6d23c9..33a365f924be 100644 --- a/arch/metag/kernel/perf/perf_event.c +++ b/arch/metag/kernel/perf/perf_event.c @@ -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. */ if (tmp) { + /* PERF_ICORE/PERF_CHAN only exist since Meta2 */ +#ifdef METAC_2_1 void *perf_addr; /* @@ -640,6 +642,7 @@ static void metag_pmu_enable_counter(struct hw_perf_event *event, int idx) if (perf_addr) metag_out32((config & 0x0f), perf_addr); +#endif /* * Now we use the high nibble as the performance event to |