diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2018-02-07 14:31:05 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-02-07 14:31:05 -0500 |
commit | 0bd2afc74808389591894dd7c7c83952006a1283 (patch) | |
tree | 087fce24a3f1616a61ac53b5d3ca2225a477a260 | |
parent | 8578953687393945ccb84488973784b9a745b059 (diff) | |
parent | 0cde5b44a30f1daaef1c34e08191239dc63271c4 (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.S | 17 | ||||
-rw-r--r-- | arch/mips/txx9/rbtx4939/setup.c | 4 |
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) | |||
509 | 1: jr.hb t0 | 516 | 1: jr.hb t0 |
510 | nop | 517 | nop |
511 | 518 | ||
512 | 2: .set pop | 519 | 2: |
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) |
190 | static u8 led_val[RBTX4939_MAX_7SEGLEDS]; | 190 | static u8 led_val[RBTX4939_MAX_7SEGLEDS]; |
191 | struct rbtx4939_led_data { | 191 | struct 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 | ||
262 | static void __rbtx4939_7segled_putc(unsigned int pos, unsigned char val) | 262 | static 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 */ |