diff options
| -rw-r--r-- | arch/mips/kernel/syscall.c | 4 | ||||
| -rw-r--r-- | arch/mips/rb532/devices.c | 3 |
2 files changed, 6 insertions, 1 deletions
diff --git a/arch/mips/kernel/syscall.c b/arch/mips/kernel/syscall.c index 3fe1fcfa2e73..fe0d79805603 100644 --- a/arch/mips/kernel/syscall.c +++ b/arch/mips/kernel/syscall.c | |||
| @@ -306,6 +306,7 @@ static inline int mips_atomic_set(struct pt_regs *regs, | |||
| 306 | 306 | ||
| 307 | if (cpu_has_llsc && R10000_LLSC_WAR) { | 307 | if (cpu_has_llsc && R10000_LLSC_WAR) { |
| 308 | __asm__ __volatile__ ( | 308 | __asm__ __volatile__ ( |
| 309 | " .set mips3 \n" | ||
| 309 | " li %[err], 0 \n" | 310 | " li %[err], 0 \n" |
| 310 | "1: ll %[old], (%[addr]) \n" | 311 | "1: ll %[old], (%[addr]) \n" |
| 311 | " move %[tmp], %[new] \n" | 312 | " move %[tmp], %[new] \n" |
| @@ -320,6 +321,7 @@ static inline int mips_atomic_set(struct pt_regs *regs, | |||
| 320 | " "STR(PTR)" 1b, 4b \n" | 321 | " "STR(PTR)" 1b, 4b \n" |
| 321 | " "STR(PTR)" 2b, 4b \n" | 322 | " "STR(PTR)" 2b, 4b \n" |
| 322 | " .previous \n" | 323 | " .previous \n" |
| 324 | " .set mips0 \n" | ||
| 323 | : [old] "=&r" (old), | 325 | : [old] "=&r" (old), |
| 324 | [err] "=&r" (err), | 326 | [err] "=&r" (err), |
| 325 | [tmp] "=&r" (tmp) | 327 | [tmp] "=&r" (tmp) |
| @@ -329,6 +331,7 @@ static inline int mips_atomic_set(struct pt_regs *regs, | |||
| 329 | : "memory"); | 331 | : "memory"); |
| 330 | } else if (cpu_has_llsc) { | 332 | } else if (cpu_has_llsc) { |
| 331 | __asm__ __volatile__ ( | 333 | __asm__ __volatile__ ( |
| 334 | " .set mips3 \n" | ||
| 332 | " li %[err], 0 \n" | 335 | " li %[err], 0 \n" |
| 333 | "1: ll %[old], (%[addr]) \n" | 336 | "1: ll %[old], (%[addr]) \n" |
| 334 | " move %[tmp], %[new] \n" | 337 | " move %[tmp], %[new] \n" |
| @@ -347,6 +350,7 @@ static inline int mips_atomic_set(struct pt_regs *regs, | |||
| 347 | " "STR(PTR)" 1b, 5b \n" | 350 | " "STR(PTR)" 1b, 5b \n" |
| 348 | " "STR(PTR)" 2b, 5b \n" | 351 | " "STR(PTR)" 2b, 5b \n" |
| 349 | " .previous \n" | 352 | " .previous \n" |
| 353 | " .set mips0 \n" | ||
| 350 | : [old] "=&r" (old), | 354 | : [old] "=&r" (old), |
| 351 | [err] "=&r" (err), | 355 | [err] "=&r" (err), |
| 352 | [tmp] "=&r" (tmp) | 356 | [tmp] "=&r" (tmp) |
diff --git a/arch/mips/rb532/devices.c b/arch/mips/rb532/devices.c index 9f40e1ff9b4f..041fc1afc3f4 100644 --- a/arch/mips/rb532/devices.c +++ b/arch/mips/rb532/devices.c | |||
| @@ -110,7 +110,6 @@ static struct korina_device korina_dev0_data = { | |||
| 110 | static struct platform_device korina_dev0 = { | 110 | static struct platform_device korina_dev0 = { |
| 111 | .id = -1, | 111 | .id = -1, |
| 112 | .name = "korina", | 112 | .name = "korina", |
| 113 | .dev.driver_data = &korina_dev0_data, | ||
| 114 | .resource = korina_dev0_res, | 113 | .resource = korina_dev0_res, |
| 115 | .num_resources = ARRAY_SIZE(korina_dev0_res), | 114 | .num_resources = ARRAY_SIZE(korina_dev0_res), |
| 116 | }; | 115 | }; |
| @@ -332,6 +331,8 @@ static int __init plat_setup_devices(void) | |||
| 332 | /* set the uart clock to the current cpu frequency */ | 331 | /* set the uart clock to the current cpu frequency */ |
| 333 | rb532_uart_res[0].uartclk = idt_cpu_freq; | 332 | rb532_uart_res[0].uartclk = idt_cpu_freq; |
| 334 | 333 | ||
| 334 | dev_set_drvdata(&korina_dev0.dev, &korina_dev0_data); | ||
| 335 | |||
| 335 | return platform_add_devices(rb532_devs, ARRAY_SIZE(rb532_devs)); | 336 | return platform_add_devices(rb532_devs, ARRAY_SIZE(rb532_devs)); |
| 336 | } | 337 | } |
| 337 | 338 | ||
