aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-05-16 18:46:30 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2015-05-16 18:46:30 -0400
commit518af3cb8ccaf32057db6046e241ec393d6c7b98 (patch)
tree3d08cdcc3abeec7a406e49010e8c201f9ddc29c2
parent2ed3d79564cff70b7a6e6516ce6324928971d1e0 (diff)
parente05cb56821288ad972541a468570418105c30215 (diff)
Merge branch 'master' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
Pull MIPS fixes from Ralf Baechle: "Seven small fixes. The shortlog below is a good description so no need to elaborate. It has sat in linux-next and survived the usual automated testing by Imagination's test farm" * 'master' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: MIPS: tlb-r4k: Fix PG_ELPA comment MIPS: Fix up obsolete cpu_set usage MIPS: IP32: Fix build errors in reset code in DS1685 platform hook. MIPS: KVM: Fix unused variable build warning MIPS: traps: remove extra Tainted: line from __show_regs() output MIPS: Fix wrong CHECKFLAGS (sparse builds) with GCC 5.1 MIPS: Fix a preemption issue with thread's FPU defaults
-rw-r--r--arch/mips/Makefile2
-rw-r--r--arch/mips/include/asm/elf.h4
-rw-r--r--arch/mips/kernel/ptrace.c2
-rw-r--r--arch/mips/kernel/smp-cps.c2
-rw-r--r--arch/mips/kernel/traps.c1
-rw-r--r--arch/mips/kvm/emulate.c6
-rw-r--r--arch/mips/math-emu/cp1emu.c4
-rw-r--r--arch/mips/mm/tlb-r4k.c2
-rw-r--r--arch/mips/sgi-ip32/ip32-platform.c4
9 files changed, 10 insertions, 17 deletions
diff --git a/arch/mips/Makefile b/arch/mips/Makefile
index 5200f649dd4e..ae2dd59050f7 100644
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
@@ -277,7 +277,7 @@ LDFLAGS += -m $(ld-emul)
277ifdef CONFIG_MIPS 277ifdef CONFIG_MIPS
278CHECKFLAGS += $(shell $(CC) $(KBUILD_CFLAGS) -dM -E -x c /dev/null | \ 278CHECKFLAGS += $(shell $(CC) $(KBUILD_CFLAGS) -dM -E -x c /dev/null | \
279 egrep -vw '__GNUC_(|MINOR_|PATCHLEVEL_)_' | \ 279 egrep -vw '__GNUC_(|MINOR_|PATCHLEVEL_)_' | \
280 sed -e "s/^\#define /-D'/" -e "s/ /'='/" -e "s/$$/'/") 280 sed -e "s/^\#define /-D'/" -e "s/ /'='/" -e "s/$$/'/" -e 's/\$$/&&/g')
281ifdef CONFIG_64BIT 281ifdef CONFIG_64BIT
282CHECKFLAGS += -m64 282CHECKFLAGS += -m64
283endif 283endif
diff --git a/arch/mips/include/asm/elf.h b/arch/mips/include/asm/elf.h
index a594d8ed9698..f19e890b99d2 100644
--- a/arch/mips/include/asm/elf.h
+++ b/arch/mips/include/asm/elf.h
@@ -304,7 +304,7 @@ do { \
304 \ 304 \
305 current->thread.abi = &mips_abi; \ 305 current->thread.abi = &mips_abi; \
306 \ 306 \
307 current->thread.fpu.fcr31 = current_cpu_data.fpu_csr31; \ 307 current->thread.fpu.fcr31 = boot_cpu_data.fpu_csr31; \
308} while (0) 308} while (0)
309 309
310#endif /* CONFIG_32BIT */ 310#endif /* CONFIG_32BIT */
@@ -366,7 +366,7 @@ do { \
366 else \ 366 else \
367 current->thread.abi = &mips_abi; \ 367 current->thread.abi = &mips_abi; \
368 \ 368 \
369 current->thread.fpu.fcr31 = current_cpu_data.fpu_csr31; \ 369 current->thread.fpu.fcr31 = boot_cpu_data.fpu_csr31; \
370 \ 370 \
371 p = personality(current->personality); \ 371 p = personality(current->personality); \
372 if (p != PER_LINUX32 && p != PER_LINUX) \ 372 if (p != PER_LINUX32 && p != PER_LINUX) \
diff --git a/arch/mips/kernel/ptrace.c b/arch/mips/kernel/ptrace.c
index d544e774eea6..e933a309f2ea 100644
--- a/arch/mips/kernel/ptrace.c
+++ b/arch/mips/kernel/ptrace.c
@@ -176,7 +176,7 @@ int ptrace_setfpregs(struct task_struct *child, __u32 __user *data)
176 176
177 __get_user(value, data + 64); 177 __get_user(value, data + 64);
178 fcr31 = child->thread.fpu.fcr31; 178 fcr31 = child->thread.fpu.fcr31;
179 mask = current_cpu_data.fpu_msk31; 179 mask = boot_cpu_data.fpu_msk31;
180 child->thread.fpu.fcr31 = (value & ~mask) | (fcr31 & mask); 180 child->thread.fpu.fcr31 = (value & ~mask) | (fcr31 & mask);
181 181
182 /* FIR may not be written. */ 182 /* FIR may not be written. */
diff --git a/arch/mips/kernel/smp-cps.c b/arch/mips/kernel/smp-cps.c
index 7e011f95bb8e..4251d390b5b6 100644
--- a/arch/mips/kernel/smp-cps.c
+++ b/arch/mips/kernel/smp-cps.c
@@ -92,7 +92,7 @@ static void __init cps_smp_setup(void)
92#ifdef CONFIG_MIPS_MT_FPAFF 92#ifdef CONFIG_MIPS_MT_FPAFF
93 /* If we have an FPU, enroll ourselves in the FPU-full mask */ 93 /* If we have an FPU, enroll ourselves in the FPU-full mask */
94 if (cpu_has_fpu) 94 if (cpu_has_fpu)
95 cpu_set(0, mt_fpu_cpumask); 95 cpumask_set_cpu(0, &mt_fpu_cpumask);
96#endif /* CONFIG_MIPS_MT_FPAFF */ 96#endif /* CONFIG_MIPS_MT_FPAFF */
97} 97}
98 98
diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c
index ba32e48d4697..d2d1c1933bc9 100644
--- a/arch/mips/kernel/traps.c
+++ b/arch/mips/kernel/traps.c
@@ -269,7 +269,6 @@ static void __show_regs(const struct pt_regs *regs)
269 */ 269 */
270 printk("epc : %0*lx %pS\n", field, regs->cp0_epc, 270 printk("epc : %0*lx %pS\n", field, regs->cp0_epc,
271 (void *) regs->cp0_epc); 271 (void *) regs->cp0_epc);
272 printk(" %s\n", print_tainted());
273 printk("ra : %0*lx %pS\n", field, regs->regs[31], 272 printk("ra : %0*lx %pS\n", field, regs->regs[31],
274 (void *) regs->regs[31]); 273 (void *) regs->regs[31]);
275 274
diff --git a/arch/mips/kvm/emulate.c b/arch/mips/kvm/emulate.c
index 6230f376a44e..4b50c5787e25 100644
--- a/arch/mips/kvm/emulate.c
+++ b/arch/mips/kvm/emulate.c
@@ -2389,7 +2389,6 @@ enum emulation_result kvm_mips_complete_mmio_load(struct kvm_vcpu *vcpu,
2389{ 2389{
2390 unsigned long *gpr = &vcpu->arch.gprs[vcpu->arch.io_gpr]; 2390 unsigned long *gpr = &vcpu->arch.gprs[vcpu->arch.io_gpr];
2391 enum emulation_result er = EMULATE_DONE; 2391 enum emulation_result er = EMULATE_DONE;
2392 unsigned long curr_pc;
2393 2392
2394 if (run->mmio.len > sizeof(*gpr)) { 2393 if (run->mmio.len > sizeof(*gpr)) {
2395 kvm_err("Bad MMIO length: %d", run->mmio.len); 2394 kvm_err("Bad MMIO length: %d", run->mmio.len);
@@ -2397,11 +2396,6 @@ enum emulation_result kvm_mips_complete_mmio_load(struct kvm_vcpu *vcpu,
2397 goto done; 2396 goto done;
2398 } 2397 }
2399 2398
2400 /*
2401 * Update PC and hold onto current PC in case there is
2402 * an error and we want to rollback the PC
2403 */
2404 curr_pc = vcpu->arch.pc;
2405 er = update_pc(vcpu, vcpu->arch.pending_load_cause); 2399 er = update_pc(vcpu, vcpu->arch.pending_load_cause);
2406 if (er == EMULATE_FAIL) 2400 if (er == EMULATE_FAIL)
2407 return er; 2401 return er;
diff --git a/arch/mips/math-emu/cp1emu.c b/arch/mips/math-emu/cp1emu.c
index d31c537ace1d..22b9b2cb9219 100644
--- a/arch/mips/math-emu/cp1emu.c
+++ b/arch/mips/math-emu/cp1emu.c
@@ -889,7 +889,7 @@ static inline void cop1_cfc(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
889 break; 889 break;
890 890
891 case FPCREG_RID: 891 case FPCREG_RID:
892 value = current_cpu_data.fpu_id; 892 value = boot_cpu_data.fpu_id;
893 break; 893 break;
894 894
895 default: 895 default:
@@ -921,7 +921,7 @@ static inline void cop1_ctc(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
921 (void *)xcp->cp0_epc, MIPSInst_RT(ir), value); 921 (void *)xcp->cp0_epc, MIPSInst_RT(ir), value);
922 922
923 /* Preserve read-only bits. */ 923 /* Preserve read-only bits. */
924 mask = current_cpu_data.fpu_msk31; 924 mask = boot_cpu_data.fpu_msk31;
925 fcr31 = (value & ~mask) | (fcr31 & mask); 925 fcr31 = (value & ~mask) | (fcr31 & mask);
926 break; 926 break;
927 927
diff --git a/arch/mips/mm/tlb-r4k.c b/arch/mips/mm/tlb-r4k.c
index a27a088e6f9f..08318ecb803a 100644
--- a/arch/mips/mm/tlb-r4k.c
+++ b/arch/mips/mm/tlb-r4k.c
@@ -495,7 +495,7 @@ static void r4k_tlb_configure(void)
495 495
496 if (cpu_has_rixi) { 496 if (cpu_has_rixi) {
497 /* 497 /*
498 * Enable the no read, no exec bits, and enable large virtual 498 * Enable the no read, no exec bits, and enable large physical
499 * address. 499 * address.
500 */ 500 */
501#ifdef CONFIG_64BIT 501#ifdef CONFIG_64BIT
diff --git a/arch/mips/sgi-ip32/ip32-platform.c b/arch/mips/sgi-ip32/ip32-platform.c
index 0134db2ad0a8..5a2a82148d8d 100644
--- a/arch/mips/sgi-ip32/ip32-platform.c
+++ b/arch/mips/sgi-ip32/ip32-platform.c
@@ -130,9 +130,9 @@ struct platform_device ip32_rtc_device = {
130 .resource = ip32_rtc_resources, 130 .resource = ip32_rtc_resources,
131}; 131};
132 132
133+static int __init sgio2_rtc_devinit(void) 133static __init int sgio2_rtc_devinit(void)
134{ 134{
135 return platform_device_register(&ip32_rtc_device); 135 return platform_device_register(&ip32_rtc_device);
136} 136}
137 137
138device_initcall(sgio2_cmos_devinit); 138device_initcall(sgio2_rtc_devinit);