aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2018-02-07 14:31:05 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2018-02-07 14:31:05 -0500
commit0bd2afc74808389591894dd7c7c83952006a1283 (patch)
tree087fce24a3f1616a61ac53b5d3ca2225a477a260
parent8578953687393945ccb84488973784b9a745b059 (diff)
parent0cde5b44a30f1daaef1c34e08191239dc63271c4 (diff)
Merge tag 'mips_fixes_4.16_1' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/mips
Pull MIPS fixes from James Hogan: "A couple of MIPS fixes for 4.16-rc1, including an important regression in 4.15 and a rather more longstanding corner case build fix. These are separate from the main pull request as one of the bugs fixed was only recently introduced in v4.15-rc8. - Fix CPS regression on older binutils due to MIPS_ISA_LEVEL_RAW fix (4.15) - Fix allmodconfig + CONFIG_MACH_TX49XX=y builds due to incorrect use of IS_ENABLED() (2.6.28)" * tag 'mips_fixes_4.16_1' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/mips: MIPS: TXx9: use IS_BUILTIN() for CONFIG_LEDS_CLASS MIPS: CPS: Fix MIPS_ISA_LEVEL_RAW fallout
-rw-r--r--arch/mips/kernel/cps-vec.S17
-rw-r--r--arch/mips/txx9/rbtx4939/setup.c4
2 files changed, 14 insertions, 7 deletions
diff --git a/arch/mips/kernel/cps-vec.S b/arch/mips/kernel/cps-vec.S
index e68e6e04063a..1025f937ab0e 100644
--- a/arch/mips/kernel/cps-vec.S
+++ b/arch/mips/kernel/cps-vec.S
@@ -388,15 +388,16 @@ LEAF(mips_cps_boot_vpes)
388 388
389#elif defined(CONFIG_MIPS_MT) 389#elif defined(CONFIG_MIPS_MT)
390 390
391 .set push
392 .set MIPS_ISA_LEVEL_RAW
393 .set mt
394
395 /* If the core doesn't support MT then return */ 391 /* If the core doesn't support MT then return */
396 has_mt t0, 5f 392 has_mt t0, 5f
397 393
398 /* Enter VPE configuration state */ 394 /* Enter VPE configuration state */
395 .set push
396 .set MIPS_ISA_LEVEL_RAW
397 .set mt
399 dvpe 398 dvpe
399 .set pop
400
400 PTR_LA t1, 1f 401 PTR_LA t1, 1f
401 jr.hb t1 402 jr.hb t1
402 nop 403 nop
@@ -422,6 +423,10 @@ LEAF(mips_cps_boot_vpes)
422 mtc0 t0, CP0_VPECONTROL 423 mtc0 t0, CP0_VPECONTROL
423 ehb 424 ehb
424 425
426 .set push
427 .set MIPS_ISA_LEVEL_RAW
428 .set mt
429
425 /* Skip the VPE if its TC is not halted */ 430 /* Skip the VPE if its TC is not halted */
426 mftc0 t0, CP0_TCHALT 431 mftc0 t0, CP0_TCHALT
427 beqz t0, 2f 432 beqz t0, 2f
@@ -495,6 +500,8 @@ LEAF(mips_cps_boot_vpes)
495 ehb 500 ehb
496 evpe 501 evpe
497 502
503 .set pop
504
498 /* Check whether this VPE is meant to be running */ 505 /* Check whether this VPE is meant to be running */
499 li t0, 1 506 li t0, 1
500 sll t0, t0, a1 507 sll t0, t0, a1
@@ -509,7 +516,7 @@ LEAF(mips_cps_boot_vpes)
5091: jr.hb t0 5161: jr.hb t0
510 nop 517 nop
511 518
5122: .set pop 5192:
513 520
514#endif /* CONFIG_MIPS_MT_SMP */ 521#endif /* CONFIG_MIPS_MT_SMP */
515 522
diff --git a/arch/mips/txx9/rbtx4939/setup.c b/arch/mips/txx9/rbtx4939/setup.c
index 8b937300fb7f..fd26fadc8617 100644
--- a/arch/mips/txx9/rbtx4939/setup.c
+++ b/arch/mips/txx9/rbtx4939/setup.c
@@ -186,7 +186,7 @@ static void __init rbtx4939_update_ioc_pen(void)
186 186
187#define RBTX4939_MAX_7SEGLEDS 8 187#define RBTX4939_MAX_7SEGLEDS 8
188 188
189#if IS_ENABLED(CONFIG_LEDS_CLASS) 189#if IS_BUILTIN(CONFIG_LEDS_CLASS)
190static u8 led_val[RBTX4939_MAX_7SEGLEDS]; 190static u8 led_val[RBTX4939_MAX_7SEGLEDS];
191struct rbtx4939_led_data { 191struct rbtx4939_led_data {
192 struct led_classdev cdev; 192 struct led_classdev cdev;
@@ -261,7 +261,7 @@ static inline void rbtx4939_led_setup(void)
261 261
262static void __rbtx4939_7segled_putc(unsigned int pos, unsigned char val) 262static void __rbtx4939_7segled_putc(unsigned int pos, unsigned char val)
263{ 263{
264#if IS_ENABLED(CONFIG_LEDS_CLASS) 264#if IS_BUILTIN(CONFIG_LEDS_CLASS)
265 unsigned long flags; 265 unsigned long flags;
266 local_irq_save(flags); 266 local_irq_save(flags);
267 /* bit7: reserved for LED class */ 267 /* bit7: reserved for LED class */