diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-15 00:22:33 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-15 00:22:33 -0500 |
commit | b9e222904ce92e1b277f2b85411d1eb6bfe27410 (patch) | |
tree | 9458158ea70e6025723c53afc64ed61d044580b8 | |
parent | 4a0962abd187df29b7d1378b2f372a55667d54c0 (diff) | |
parent | d4eac7501f737c70420f38e9fd59de77a4ba6c13 (diff) |
Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
[POWERPC] Remove unused CONFIG_WANT_DEVICE_TREE
[POWERPC] Cell RAS: Remove DEBUG, and add license and copyright
[POWERPC] hvc_rtas_init() must be __init
[POWERPC] free_property() must not be __init
[POWERPC] vdso_do_func_patch{32,64}() must be __init
[POWERPC] Remove generated files on make clean
[POWERPC] Fix arch/ppc compilation - add typedef for pgtable_t
[POWERPC] Wire up new timerfd syscalls
[POWERPC] PS3: Update sys-manager button events
[POWERPC] PS3: Sys-manager code cleanup
[POWERPC] PS3: Use system reboot on restart
[POWERPC] PS3: Fix bootwrapper hang bug
[POWERPC] PS3: Fix reading pm interval in logical performance monitor
[POWERPC] PS3: Fix setting bookmark in logical performance monitor
[POWERPC] Fix DEBUG_PREEMPT warning when warning
-rw-r--r-- | arch/powerpc/Kconfig | 4 | ||||
-rw-r--r-- | arch/powerpc/boot/Makefile | 2 | ||||
-rw-r--r-- | arch/powerpc/boot/ps3-hvcall.S | 2 | ||||
-rw-r--r-- | arch/powerpc/kernel/Makefile | 2 | ||||
-rw-r--r-- | arch/powerpc/kernel/process.c | 2 | ||||
-rw-r--r-- | arch/powerpc/kernel/vdso.c | 12 | ||||
-rw-r--r-- | arch/powerpc/platforms/512x/Kconfig | 1 | ||||
-rw-r--r-- | arch/powerpc/platforms/52xx/Kconfig | 2 | ||||
-rw-r--r-- | arch/powerpc/platforms/Kconfig | 2 | ||||
-rw-r--r-- | arch/powerpc/platforms/Kconfig.cputype | 4 | ||||
-rw-r--r-- | arch/powerpc/platforms/cell/ras.c | 11 | ||||
-rw-r--r-- | arch/powerpc/platforms/embedded6xx/Kconfig | 4 | ||||
-rw-r--r-- | arch/powerpc/platforms/iseries/vio.c | 2 | ||||
-rw-r--r-- | drivers/char/hvc_rtas.c | 2 | ||||
-rw-r--r-- | drivers/ps3/ps3-lpm.c | 22 | ||||
-rw-r--r-- | drivers/ps3/ps3-sys-manager.c | 44 | ||||
-rw-r--r-- | include/asm-powerpc/systbl.h | 4 | ||||
-rw-r--r-- | include/asm-powerpc/unistd.h | 6 | ||||
-rw-r--r-- | include/asm-ppc/page.h | 2 |
19 files changed, 76 insertions, 54 deletions
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 485513c9f1af..5b8d8382b762 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig | |||
@@ -442,10 +442,6 @@ config SECCOMP | |||
442 | 442 | ||
443 | If unsure, say Y. Only embedded should say N here. | 443 | If unsure, say Y. Only embedded should say N here. |
444 | 444 | ||
445 | config WANT_DEVICE_TREE | ||
446 | bool | ||
447 | default n | ||
448 | |||
449 | endmenu | 445 | endmenu |
450 | 446 | ||
451 | config ISA_DMA_API | 447 | config ISA_DMA_API |
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile index 49797a45416c..63d07ccbb9db 100644 --- a/arch/powerpc/boot/Makefile +++ b/arch/powerpc/boot/Makefile | |||
@@ -147,6 +147,8 @@ HOSTCFLAGS += -I$(src)/dtc-src/ -I$(src)/libfdt/ | |||
147 | targets += dtc-src/dtc-parser.tab.c | 147 | targets += dtc-src/dtc-parser.tab.c |
148 | targets += dtc-src/dtc-lexer.lex.c | 148 | targets += dtc-src/dtc-lexer.lex.c |
149 | 149 | ||
150 | clean-files += dtc-src/dtc-parser.tab.h | ||
151 | |||
150 | ifdef DTC_GENPARSER | 152 | ifdef DTC_GENPARSER |
151 | BISON = bison | 153 | BISON = bison |
152 | FLEX = flex | 154 | FLEX = flex |
diff --git a/arch/powerpc/boot/ps3-hvcall.S b/arch/powerpc/boot/ps3-hvcall.S index 585965f7e6a8..d6068f1829ca 100644 --- a/arch/powerpc/boot/ps3-hvcall.S +++ b/arch/powerpc/boot/ps3-hvcall.S | |||
@@ -145,7 +145,7 @@ | |||
145 | .macro STORE_REGS_5_2 | 145 | .macro STORE_REGS_5_2 |
146 | lwz r11, 16(r1) | 146 | lwz r11, 16(r1) |
147 | std r4, 0(r11) | 147 | std r4, 0(r11) |
148 | lwz r11, 24(r1) | 148 | lwz r11, 20(r1) |
149 | std r5, 0(r11) | 149 | std r5, 0(r11) |
150 | .endm | 150 | .endm |
151 | 151 | ||
diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile index 0662ae46f724..c1baf9d5903f 100644 --- a/arch/powerpc/kernel/Makefile +++ b/arch/powerpc/kernel/Makefile | |||
@@ -104,3 +104,5 @@ quiet_cmd_systbl_chk = CALL $< | |||
104 | PHONY += systbl_chk | 104 | PHONY += systbl_chk |
105 | systbl_chk: $(src)/systbl_chk.sh $(obj)/systbl_chk.i | 105 | systbl_chk: $(src)/systbl_chk.sh $(obj)/systbl_chk.i |
106 | $(call cmd,systbl_chk) | 106 | $(call cmd,systbl_chk) |
107 | |||
108 | clean-files := vmlinux.lds | ||
diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c index b9d88374f14f..4846bf543a8c 100644 --- a/arch/powerpc/kernel/process.c +++ b/arch/powerpc/kernel/process.c | |||
@@ -462,7 +462,7 @@ void show_regs(struct pt_regs * regs) | |||
462 | current, task_pid_nr(current), current->comm, task_thread_info(current)); | 462 | current, task_pid_nr(current), current->comm, task_thread_info(current)); |
463 | 463 | ||
464 | #ifdef CONFIG_SMP | 464 | #ifdef CONFIG_SMP |
465 | printk(" CPU: %d", smp_processor_id()); | 465 | printk(" CPU: %d", raw_smp_processor_id()); |
466 | #endif /* CONFIG_SMP */ | 466 | #endif /* CONFIG_SMP */ |
467 | 467 | ||
468 | for (i = 0; i < 32; i++) { | 468 | for (i = 0; i < 32; i++) { |
diff --git a/arch/powerpc/kernel/vdso.c b/arch/powerpc/kernel/vdso.c index 3702df7dc567..d3437c4c4a6f 100644 --- a/arch/powerpc/kernel/vdso.c +++ b/arch/powerpc/kernel/vdso.c | |||
@@ -336,9 +336,9 @@ static unsigned long __init find_function32(struct lib32_elfinfo *lib, | |||
336 | return sym->st_value - VDSO32_LBASE; | 336 | return sym->st_value - VDSO32_LBASE; |
337 | } | 337 | } |
338 | 338 | ||
339 | static int vdso_do_func_patch32(struct lib32_elfinfo *v32, | 339 | static int __init vdso_do_func_patch32(struct lib32_elfinfo *v32, |
340 | struct lib64_elfinfo *v64, | 340 | struct lib64_elfinfo *v64, |
341 | const char *orig, const char *fix) | 341 | const char *orig, const char *fix) |
342 | { | 342 | { |
343 | Elf32_Sym *sym32_gen, *sym32_fix; | 343 | Elf32_Sym *sym32_gen, *sym32_fix; |
344 | 344 | ||
@@ -433,9 +433,9 @@ static unsigned long __init find_function64(struct lib64_elfinfo *lib, | |||
433 | #endif | 433 | #endif |
434 | } | 434 | } |
435 | 435 | ||
436 | static int vdso_do_func_patch64(struct lib32_elfinfo *v32, | 436 | static int __init vdso_do_func_patch64(struct lib32_elfinfo *v32, |
437 | struct lib64_elfinfo *v64, | 437 | struct lib64_elfinfo *v64, |
438 | const char *orig, const char *fix) | 438 | const char *orig, const char *fix) |
439 | { | 439 | { |
440 | Elf64_Sym *sym64_gen, *sym64_fix; | 440 | Elf64_Sym *sym64_gen, *sym64_fix; |
441 | 441 | ||
diff --git a/arch/powerpc/platforms/512x/Kconfig b/arch/powerpc/platforms/512x/Kconfig index c6fa49e23dc0..4c0da0c079e9 100644 --- a/arch/powerpc/platforms/512x/Kconfig +++ b/arch/powerpc/platforms/512x/Kconfig | |||
@@ -13,7 +13,6 @@ config MPC5121_ADS | |||
13 | bool "Freescale MPC5121E ADS" | 13 | bool "Freescale MPC5121E ADS" |
14 | depends on PPC_MULTIPLATFORM && PPC32 | 14 | depends on PPC_MULTIPLATFORM && PPC32 |
15 | select DEFAULT_UIMAGE | 15 | select DEFAULT_UIMAGE |
16 | select WANT_DEVICE_TREE | ||
17 | select PPC_MPC5121 | 16 | select PPC_MPC5121 |
18 | help | 17 | help |
19 | This option enables support for the MPC5121E ADS board. | 18 | This option enables support for the MPC5121E ADS board. |
diff --git a/arch/powerpc/platforms/52xx/Kconfig b/arch/powerpc/platforms/52xx/Kconfig index 515f244c90bb..cf945d55c276 100644 --- a/arch/powerpc/platforms/52xx/Kconfig +++ b/arch/powerpc/platforms/52xx/Kconfig | |||
@@ -8,7 +8,6 @@ config PPC_MPC5200_SIMPLE | |||
8 | bool "Generic support for simple MPC5200 based boards" | 8 | bool "Generic support for simple MPC5200 based boards" |
9 | depends on PPC_MPC52xx | 9 | depends on PPC_MPC52xx |
10 | select DEFAULT_UIMAGE | 10 | select DEFAULT_UIMAGE |
11 | select WANT_DEVICE_TREE | ||
12 | help | 11 | help |
13 | This option enables support for a simple MPC52xx based boards which | 12 | This option enables support for a simple MPC52xx based boards which |
14 | do not need a custom platform specific setup. Such boards are | 13 | do not need a custom platform specific setup. Such boards are |
@@ -35,7 +34,6 @@ config PPC_LITE5200 | |||
35 | bool "Freescale Lite5200 Eval Board" | 34 | bool "Freescale Lite5200 Eval Board" |
36 | depends on PPC_MPC52xx | 35 | depends on PPC_MPC52xx |
37 | select DEFAULT_UIMAGE | 36 | select DEFAULT_UIMAGE |
38 | select WANT_DEVICE_TREE | ||
39 | 37 | ||
40 | config PPC_MPC5200_BUGFIX | 38 | config PPC_MPC5200_BUGFIX |
41 | bool "MPC5200 (L25R) bugfix support" | 39 | bool "MPC5200 (L25R) bugfix support" |
diff --git a/arch/powerpc/platforms/Kconfig b/arch/powerpc/platforms/Kconfig index fcedbec07f94..0afd22595546 100644 --- a/arch/powerpc/platforms/Kconfig +++ b/arch/powerpc/platforms/Kconfig | |||
@@ -15,7 +15,6 @@ config PPC_MULTIPLATFORM | |||
15 | config PPC_82xx | 15 | config PPC_82xx |
16 | bool "Freescale 82xx" | 16 | bool "Freescale 82xx" |
17 | depends on 6xx | 17 | depends on 6xx |
18 | select WANT_DEVICE_TREE | ||
19 | 18 | ||
20 | config PPC_83xx | 19 | config PPC_83xx |
21 | bool "Freescale 83xx" | 20 | bool "Freescale 83xx" |
@@ -23,7 +22,6 @@ config PPC_83xx | |||
23 | select FSL_SOC | 22 | select FSL_SOC |
24 | select MPC83xx | 23 | select MPC83xx |
25 | select IPIC | 24 | select IPIC |
26 | select WANT_DEVICE_TREE | ||
27 | select FSL_EMB_PERFMON | 25 | select FSL_EMB_PERFMON |
28 | 26 | ||
29 | config PPC_86xx | 27 | config PPC_86xx |
diff --git a/arch/powerpc/platforms/Kconfig.cputype b/arch/powerpc/platforms/Kconfig.cputype index 69941ba70975..73d81ce14b67 100644 --- a/arch/powerpc/platforms/Kconfig.cputype +++ b/arch/powerpc/platforms/Kconfig.cputype | |||
@@ -29,26 +29,22 @@ config PPC_85xx | |||
29 | bool "Freescale 85xx" | 29 | bool "Freescale 85xx" |
30 | select E500 | 30 | select E500 |
31 | select FSL_SOC | 31 | select FSL_SOC |
32 | select WANT_DEVICE_TREE | ||
33 | select MPC85xx | 32 | select MPC85xx |
34 | 33 | ||
35 | config PPC_8xx | 34 | config PPC_8xx |
36 | bool "Freescale 8xx" | 35 | bool "Freescale 8xx" |
37 | select FSL_SOC | 36 | select FSL_SOC |
38 | select 8xx | 37 | select 8xx |
39 | select WANT_DEVICE_TREE | ||
40 | select PPC_LIB_RHEAP | 38 | select PPC_LIB_RHEAP |
41 | 39 | ||
42 | config 40x | 40 | config 40x |
43 | bool "AMCC 40x" | 41 | bool "AMCC 40x" |
44 | select PPC_DCR_NATIVE | 42 | select PPC_DCR_NATIVE |
45 | select WANT_DEVICE_TREE | ||
46 | select PPC_UDBG_16550 | 43 | select PPC_UDBG_16550 |
47 | 44 | ||
48 | config 44x | 45 | config 44x |
49 | bool "AMCC 44x" | 46 | bool "AMCC 44x" |
50 | select PPC_DCR_NATIVE | 47 | select PPC_DCR_NATIVE |
51 | select WANT_DEVICE_TREE | ||
52 | select PPC_UDBG_16550 | 48 | select PPC_UDBG_16550 |
53 | 49 | ||
54 | config E200 | 50 | config E200 |
diff --git a/arch/powerpc/platforms/cell/ras.c b/arch/powerpc/platforms/cell/ras.c index b2494ebcdbe9..e43024c0392e 100644 --- a/arch/powerpc/platforms/cell/ras.c +++ b/arch/powerpc/platforms/cell/ras.c | |||
@@ -1,4 +1,13 @@ | |||
1 | #define DEBUG | 1 | /* |
2 | * Copyright 2006-2008, IBM Corporation. | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or | ||
5 | * modify it under the terms of the GNU General Public License | ||
6 | * as published by the Free Software Foundation; either version | ||
7 | * 2 of the License, or (at your option) any later version. | ||
8 | */ | ||
9 | |||
10 | #undef DEBUG | ||
2 | 11 | ||
3 | #include <linux/types.h> | 12 | #include <linux/types.h> |
4 | #include <linux/kernel.h> | 13 | #include <linux/kernel.h> |
diff --git a/arch/powerpc/platforms/embedded6xx/Kconfig b/arch/powerpc/platforms/embedded6xx/Kconfig index 6c8083757938..429088967813 100644 --- a/arch/powerpc/platforms/embedded6xx/Kconfig +++ b/arch/powerpc/platforms/embedded6xx/Kconfig | |||
@@ -24,7 +24,6 @@ config STORCENTER | |||
24 | select MPIC | 24 | select MPIC |
25 | select FSL_SOC | 25 | select FSL_SOC |
26 | select PPC_UDBG_16550 if SERIAL_8250 | 26 | select PPC_UDBG_16550 if SERIAL_8250 |
27 | select WANT_DEVICE_TREE | ||
28 | select MPC10X_OPENPIC | 27 | select MPC10X_OPENPIC |
29 | select MPC10X_BRIDGE | 28 | select MPC10X_BRIDGE |
30 | help | 29 | help |
@@ -37,7 +36,6 @@ config MPC7448HPC2 | |||
37 | select TSI108_BRIDGE | 36 | select TSI108_BRIDGE |
38 | select DEFAULT_UIMAGE | 37 | select DEFAULT_UIMAGE |
39 | select PPC_UDBG_16550 | 38 | select PPC_UDBG_16550 |
40 | select WANT_DEVICE_TREE | ||
41 | select TSI108_BRIDGE | 39 | select TSI108_BRIDGE |
42 | help | 40 | help |
43 | Select MPC7448HPC2 if configuring for Freescale MPC7448HPC2 (Taiga) | 41 | Select MPC7448HPC2 if configuring for Freescale MPC7448HPC2 (Taiga) |
@@ -48,7 +46,6 @@ config PPC_HOLLY | |||
48 | depends on EMBEDDED6xx | 46 | depends on EMBEDDED6xx |
49 | select TSI108_BRIDGE | 47 | select TSI108_BRIDGE |
50 | select PPC_UDBG_16550 | 48 | select PPC_UDBG_16550 |
51 | select WANT_DEVICE_TREE | ||
52 | select TSI108_BRIDGE | 49 | select TSI108_BRIDGE |
53 | help | 50 | help |
54 | Select PPC_HOLLY if configuring for an IBM 750GX/CL Eval | 51 | Select PPC_HOLLY if configuring for an IBM 750GX/CL Eval |
@@ -59,7 +56,6 @@ config PPC_PRPMC2800 | |||
59 | depends on EMBEDDED6xx | 56 | depends on EMBEDDED6xx |
60 | select MV64X60 | 57 | select MV64X60 |
61 | select NOT_COHERENT_CACHE | 58 | select NOT_COHERENT_CACHE |
62 | select WANT_DEVICE_TREE | ||
63 | help | 59 | help |
64 | This option enables support for the Motorola PrPMC2800 board | 60 | This option enables support for the Motorola PrPMC2800 board |
65 | 61 | ||
diff --git a/arch/powerpc/platforms/iseries/vio.c b/arch/powerpc/platforms/iseries/vio.c index be06cfd9fa3d..657b72f68493 100644 --- a/arch/powerpc/platforms/iseries/vio.c +++ b/arch/powerpc/platforms/iseries/vio.c | |||
@@ -75,7 +75,7 @@ static struct property *new_property(const char *name, int length, | |||
75 | return np; | 75 | return np; |
76 | } | 76 | } |
77 | 77 | ||
78 | static void __init free_property(struct property *np) | 78 | static void free_property(struct property *np) |
79 | { | 79 | { |
80 | kfree(np); | 80 | kfree(np); |
81 | } | 81 | } |
diff --git a/drivers/char/hvc_rtas.c b/drivers/char/hvc_rtas.c index bb09413d5a21..88590d040046 100644 --- a/drivers/char/hvc_rtas.c +++ b/drivers/char/hvc_rtas.c | |||
@@ -76,7 +76,7 @@ static struct hv_ops hvc_rtas_get_put_ops = { | |||
76 | .put_chars = hvc_rtas_write_console, | 76 | .put_chars = hvc_rtas_write_console, |
77 | }; | 77 | }; |
78 | 78 | ||
79 | static int hvc_rtas_init(void) | 79 | static int __init hvc_rtas_init(void) |
80 | { | 80 | { |
81 | struct hvc_struct *hp; | 81 | struct hvc_struct *hp; |
82 | 82 | ||
diff --git a/drivers/ps3/ps3-lpm.c b/drivers/ps3/ps3-lpm.c index 4c066545d176..6c9592ce4996 100644 --- a/drivers/ps3/ps3-lpm.c +++ b/drivers/ps3/ps3-lpm.c | |||
@@ -76,7 +76,6 @@ | |||
76 | * | 76 | * |
77 | * @pm_control: Shadow of the processor's pm_control register. | 77 | * @pm_control: Shadow of the processor's pm_control register. |
78 | * @pm_start_stop: Shadow of the processor's pm_start_stop register. | 78 | * @pm_start_stop: Shadow of the processor's pm_start_stop register. |
79 | * @pm_interval: Shadow of the processor's pm_interval register. | ||
80 | * @group_control: Shadow of the processor's group_control register. | 79 | * @group_control: Shadow of the processor's group_control register. |
81 | * @debug_bus_control: Shadow of the processor's debug_bus_control register. | 80 | * @debug_bus_control: Shadow of the processor's debug_bus_control register. |
82 | * | 81 | * |
@@ -91,7 +90,6 @@ | |||
91 | struct ps3_lpm_shadow_regs { | 90 | struct ps3_lpm_shadow_regs { |
92 | u64 pm_control; | 91 | u64 pm_control; |
93 | u64 pm_start_stop; | 92 | u64 pm_start_stop; |
94 | u64 pm_interval; | ||
95 | u64 group_control; | 93 | u64 group_control; |
96 | u64 debug_bus_control; | 94 | u64 debug_bus_control; |
97 | }; | 95 | }; |
@@ -181,9 +179,9 @@ void ps3_set_bookmark(u64 bookmark) | |||
181 | * includes cycles before the call. | 179 | * includes cycles before the call. |
182 | */ | 180 | */ |
183 | 181 | ||
184 | asm volatile("or 29, 29, 29;"); /* db10cyc */ | 182 | asm volatile("nop;nop;nop;nop;nop;nop;nop;nop;nop;"); |
185 | mtspr(SPRN_BKMK, bookmark); | 183 | mtspr(SPRN_BKMK, bookmark); |
186 | asm volatile("or 29, 29, 29;"); /* db10cyc */ | 184 | asm volatile("nop;nop;nop;nop;nop;nop;nop;nop;nop;"); |
187 | } | 185 | } |
188 | EXPORT_SYMBOL_GPL(ps3_set_bookmark); | 186 | EXPORT_SYMBOL_GPL(ps3_set_bookmark); |
189 | 187 | ||
@@ -408,7 +406,14 @@ u32 ps3_read_pm(u32 cpu, enum pm_reg_name reg) | |||
408 | case pm_start_stop: | 406 | case pm_start_stop: |
409 | return lpm_priv->shadow.pm_start_stop; | 407 | return lpm_priv->shadow.pm_start_stop; |
410 | case pm_interval: | 408 | case pm_interval: |
411 | return lpm_priv->shadow.pm_interval; | 409 | result = lv1_set_lpm_interval(lpm_priv->lpm_id, 0, 0, &val); |
410 | if (result) { | ||
411 | val = 0; | ||
412 | dev_dbg(sbd_core(), "%s:%u: lv1 set_inteval failed: " | ||
413 | "reg %u, %s\n", __func__, __LINE__, reg, | ||
414 | ps3_result(result)); | ||
415 | } | ||
416 | return (u32)val; | ||
412 | case group_control: | 417 | case group_control: |
413 | return lpm_priv->shadow.group_control; | 418 | return lpm_priv->shadow.group_control; |
414 | case debug_bus_control: | 419 | case debug_bus_control: |
@@ -475,10 +480,8 @@ void ps3_write_pm(u32 cpu, enum pm_reg_name reg, u32 val) | |||
475 | lpm_priv->shadow.pm_control = val; | 480 | lpm_priv->shadow.pm_control = val; |
476 | break; | 481 | break; |
477 | case pm_interval: | 482 | case pm_interval: |
478 | if (val != lpm_priv->shadow.pm_interval) | 483 | result = lv1_set_lpm_interval(lpm_priv->lpm_id, val, |
479 | result = lv1_set_lpm_interval(lpm_priv->lpm_id, val, | 484 | PS3_WRITE_PM_MASK, &dummy); |
480 | PS3_WRITE_PM_MASK, &dummy); | ||
481 | lpm_priv->shadow.pm_interval = val; | ||
482 | break; | 485 | break; |
483 | case pm_start_stop: | 486 | case pm_start_stop: |
484 | if (val != lpm_priv->shadow.pm_start_stop) | 487 | if (val != lpm_priv->shadow.pm_start_stop) |
@@ -1140,7 +1143,6 @@ int ps3_lpm_open(enum ps3_lpm_tb_type tb_type, void *tb_cache, | |||
1140 | 1143 | ||
1141 | lpm_priv->shadow.pm_control = PS3_LPM_SHADOW_REG_INIT; | 1144 | lpm_priv->shadow.pm_control = PS3_LPM_SHADOW_REG_INIT; |
1142 | lpm_priv->shadow.pm_start_stop = PS3_LPM_SHADOW_REG_INIT; | 1145 | lpm_priv->shadow.pm_start_stop = PS3_LPM_SHADOW_REG_INIT; |
1143 | lpm_priv->shadow.pm_interval = PS3_LPM_SHADOW_REG_INIT; | ||
1144 | lpm_priv->shadow.group_control = PS3_LPM_SHADOW_REG_INIT; | 1146 | lpm_priv->shadow.group_control = PS3_LPM_SHADOW_REG_INIT; |
1145 | lpm_priv->shadow.debug_bus_control = PS3_LPM_SHADOW_REG_INIT; | 1147 | lpm_priv->shadow.debug_bus_control = PS3_LPM_SHADOW_REG_INIT; |
1146 | 1148 | ||
diff --git a/drivers/ps3/ps3-sys-manager.c b/drivers/ps3/ps3-sys-manager.c index c3c3aba3ffce..d4f6f960dd18 100644 --- a/drivers/ps3/ps3-sys-manager.c +++ b/drivers/ps3/ps3-sys-manager.c | |||
@@ -28,10 +28,6 @@ | |||
28 | 28 | ||
29 | #include "vuart.h" | 29 | #include "vuart.h" |
30 | 30 | ||
31 | MODULE_AUTHOR("Sony Corporation"); | ||
32 | MODULE_LICENSE("GPL v2"); | ||
33 | MODULE_DESCRIPTION("PS3 System Manager"); | ||
34 | |||
35 | /** | 31 | /** |
36 | * ps3_sys_manager - PS3 system manager driver. | 32 | * ps3_sys_manager - PS3 system manager driver. |
37 | * | 33 | * |
@@ -142,9 +138,11 @@ enum ps3_sys_manager_attr { | |||
142 | 138 | ||
143 | /** | 139 | /** |
144 | * enum ps3_sys_manager_event - External event type, reported by system manager. | 140 | * enum ps3_sys_manager_event - External event type, reported by system manager. |
145 | * @PS3_SM_EVENT_POWER_PRESSED: payload.value not used. | 141 | * @PS3_SM_EVENT_POWER_PRESSED: payload.value = |
142 | * enum ps3_sys_manager_button_event. | ||
146 | * @PS3_SM_EVENT_POWER_RELEASED: payload.value = time pressed in millisec. | 143 | * @PS3_SM_EVENT_POWER_RELEASED: payload.value = time pressed in millisec. |
147 | * @PS3_SM_EVENT_RESET_PRESSED: payload.value not used. | 144 | * @PS3_SM_EVENT_RESET_PRESSED: payload.value = |
145 | * enum ps3_sys_manager_button_event. | ||
148 | * @PS3_SM_EVENT_RESET_RELEASED: payload.value = time pressed in millisec. | 146 | * @PS3_SM_EVENT_RESET_RELEASED: payload.value = time pressed in millisec. |
149 | * @PS3_SM_EVENT_THERMAL_ALERT: payload.value = thermal zone id. | 147 | * @PS3_SM_EVENT_THERMAL_ALERT: payload.value = thermal zone id. |
150 | * @PS3_SM_EVENT_THERMAL_CLEARED: payload.value = thermal zone id. | 148 | * @PS3_SM_EVENT_THERMAL_CLEARED: payload.value = thermal zone id. |
@@ -162,6 +160,17 @@ enum ps3_sys_manager_event { | |||
162 | }; | 160 | }; |
163 | 161 | ||
164 | /** | 162 | /** |
163 | * enum ps3_sys_manager_button_event - Button event payload values. | ||
164 | * @PS3_SM_BUTTON_EVENT_HARD: Hardware generated event. | ||
165 | * @PS3_SM_BUTTON_EVENT_SOFT: Software generated event. | ||
166 | */ | ||
167 | |||
168 | enum ps3_sys_manager_button_event { | ||
169 | PS3_SM_BUTTON_EVENT_HARD = 0, | ||
170 | PS3_SM_BUTTON_EVENT_SOFT = 1, | ||
171 | }; | ||
172 | |||
173 | /** | ||
165 | * enum ps3_sys_manager_next_op - Operation to perform after lpar is destroyed. | 174 | * enum ps3_sys_manager_next_op - Operation to perform after lpar is destroyed. |
166 | */ | 175 | */ |
167 | 176 | ||
@@ -181,7 +190,9 @@ enum ps3_sys_manager_next_op { | |||
181 | * @PS3_SM_WAKE_P_O_R: Power on reset. | 190 | * @PS3_SM_WAKE_P_O_R: Power on reset. |
182 | * | 191 | * |
183 | * Additional wakeup sources when specifying PS3_SM_NEXT_OP_SYS_SHUTDOWN. | 192 | * Additional wakeup sources when specifying PS3_SM_NEXT_OP_SYS_SHUTDOWN. |
184 | * System will always wake from the PS3_SM_WAKE_DEFAULT sources. | 193 | * The system will always wake from the PS3_SM_WAKE_DEFAULT sources. |
194 | * Sources listed here are the only ones available to guests in the | ||
195 | * other-os lpar. | ||
185 | */ | 196 | */ |
186 | 197 | ||
187 | enum ps3_sys_manager_wake_source { | 198 | enum ps3_sys_manager_wake_source { |
@@ -189,7 +200,7 @@ enum ps3_sys_manager_wake_source { | |||
189 | PS3_SM_WAKE_DEFAULT = 0, | 200 | PS3_SM_WAKE_DEFAULT = 0, |
190 | PS3_SM_WAKE_RTC = 0x00000040, | 201 | PS3_SM_WAKE_RTC = 0x00000040, |
191 | PS3_SM_WAKE_RTC_ERROR = 0x00000080, | 202 | PS3_SM_WAKE_RTC_ERROR = 0x00000080, |
192 | PS3_SM_WAKE_P_O_R = 0x10000000, | 203 | PS3_SM_WAKE_P_O_R = 0x80000000, |
193 | }; | 204 | }; |
194 | 205 | ||
195 | /** | 206 | /** |
@@ -418,8 +429,10 @@ static int ps3_sys_manager_handle_event(struct ps3_system_bus_device *dev) | |||
418 | 429 | ||
419 | switch (event.type) { | 430 | switch (event.type) { |
420 | case PS3_SM_EVENT_POWER_PRESSED: | 431 | case PS3_SM_EVENT_POWER_PRESSED: |
421 | dev_dbg(&dev->core, "%s:%d: POWER_PRESSED\n", | 432 | dev_dbg(&dev->core, "%s:%d: POWER_PRESSED (%s)\n", |
422 | __func__, __LINE__); | 433 | __func__, __LINE__, |
434 | (event.value == PS3_SM_BUTTON_EVENT_SOFT ? "soft" | ||
435 | : "hard")); | ||
423 | ps3_sm_force_power_off = 1; | 436 | ps3_sm_force_power_off = 1; |
424 | /* | 437 | /* |
425 | * A memory barrier is use here to sync memory since | 438 | * A memory barrier is use here to sync memory since |
@@ -434,8 +447,10 @@ static int ps3_sys_manager_handle_event(struct ps3_system_bus_device *dev) | |||
434 | __func__, __LINE__, event.value); | 447 | __func__, __LINE__, event.value); |
435 | break; | 448 | break; |
436 | case PS3_SM_EVENT_RESET_PRESSED: | 449 | case PS3_SM_EVENT_RESET_PRESSED: |
437 | dev_dbg(&dev->core, "%s:%d: RESET_PRESSED\n", | 450 | dev_dbg(&dev->core, "%s:%d: RESET_PRESSED (%s)\n", |
438 | __func__, __LINE__); | 451 | __func__, __LINE__, |
452 | (event.value == PS3_SM_BUTTON_EVENT_SOFT ? "soft" | ||
453 | : "hard")); | ||
439 | ps3_sm_force_power_off = 0; | 454 | ps3_sm_force_power_off = 0; |
440 | /* | 455 | /* |
441 | * A memory barrier is use here to sync memory since | 456 | * A memory barrier is use here to sync memory since |
@@ -622,7 +637,7 @@ static void ps3_sys_manager_final_restart(struct ps3_system_bus_device *dev) | |||
622 | ps3_vuart_cancel_async(dev); | 637 | ps3_vuart_cancel_async(dev); |
623 | 638 | ||
624 | ps3_sys_manager_send_attr(dev, 0); | 639 | ps3_sys_manager_send_attr(dev, 0); |
625 | ps3_sys_manager_send_next_op(dev, PS3_SM_NEXT_OP_LPAR_REBOOT, | 640 | ps3_sys_manager_send_next_op(dev, PS3_SM_NEXT_OP_SYS_REBOOT, |
626 | PS3_SM_WAKE_DEFAULT); | 641 | PS3_SM_WAKE_DEFAULT); |
627 | ps3_sys_manager_send_request_shutdown(dev); | 642 | ps3_sys_manager_send_request_shutdown(dev); |
628 | 643 | ||
@@ -699,4 +714,7 @@ static int __init ps3_sys_manager_init(void) | |||
699 | module_init(ps3_sys_manager_init); | 714 | module_init(ps3_sys_manager_init); |
700 | /* Module remove not supported. */ | 715 | /* Module remove not supported. */ |
701 | 716 | ||
717 | MODULE_AUTHOR("Sony Corporation"); | ||
718 | MODULE_LICENSE("GPL v2"); | ||
719 | MODULE_DESCRIPTION("PS3 System Manager"); | ||
702 | MODULE_ALIAS(PS3_MODULE_ALIAS_SYSTEM_MANAGER); | 720 | MODULE_ALIAS(PS3_MODULE_ALIAS_SYSTEM_MANAGER); |
diff --git a/include/asm-powerpc/systbl.h b/include/asm-powerpc/systbl.h index e996521fb3a6..ae7085c65692 100644 --- a/include/asm-powerpc/systbl.h +++ b/include/asm-powerpc/systbl.h | |||
@@ -309,8 +309,10 @@ SYSCALL_SPU(getcpu) | |||
309 | COMPAT_SYS(epoll_pwait) | 309 | COMPAT_SYS(epoll_pwait) |
310 | COMPAT_SYS_SPU(utimensat) | 310 | COMPAT_SYS_SPU(utimensat) |
311 | COMPAT_SYS_SPU(signalfd) | 311 | COMPAT_SYS_SPU(signalfd) |
312 | SYSCALL(ni_syscall) | 312 | SYSCALL_SPU(timerfd_create) |
313 | SYSCALL_SPU(eventfd) | 313 | SYSCALL_SPU(eventfd) |
314 | COMPAT_SYS_SPU(sync_file_range2) | 314 | COMPAT_SYS_SPU(sync_file_range2) |
315 | COMPAT_SYS(fallocate) | 315 | COMPAT_SYS(fallocate) |
316 | SYSCALL(subpage_prot) | 316 | SYSCALL(subpage_prot) |
317 | COMPAT_SYS_SPU(timerfd_settime) | ||
318 | COMPAT_SYS_SPU(timerfd_gettime) | ||
diff --git a/include/asm-powerpc/unistd.h b/include/asm-powerpc/unistd.h index fedc4b8e49e2..ce91bb662063 100644 --- a/include/asm-powerpc/unistd.h +++ b/include/asm-powerpc/unistd.h | |||
@@ -328,15 +328,17 @@ | |||
328 | #define __NR_epoll_pwait 303 | 328 | #define __NR_epoll_pwait 303 |
329 | #define __NR_utimensat 304 | 329 | #define __NR_utimensat 304 |
330 | #define __NR_signalfd 305 | 330 | #define __NR_signalfd 305 |
331 | #define __NR_timerfd 306 | 331 | #define __NR_timerfd_create 306 |
332 | #define __NR_eventfd 307 | 332 | #define __NR_eventfd 307 |
333 | #define __NR_sync_file_range2 308 | 333 | #define __NR_sync_file_range2 308 |
334 | #define __NR_fallocate 309 | 334 | #define __NR_fallocate 309 |
335 | #define __NR_subpage_prot 310 | 335 | #define __NR_subpage_prot 310 |
336 | #define __NR_timerfd_settime 311 | ||
337 | #define __NR_timerfd_gettime 312 | ||
336 | 338 | ||
337 | #ifdef __KERNEL__ | 339 | #ifdef __KERNEL__ |
338 | 340 | ||
339 | #define __NR_syscalls 311 | 341 | #define __NR_syscalls 313 |
340 | 342 | ||
341 | #define __NR__exit __NR_exit | 343 | #define __NR__exit __NR_exit |
342 | #define NR_syscalls __NR_syscalls | 344 | #define NR_syscalls __NR_syscalls |
diff --git a/include/asm-ppc/page.h b/include/asm-ppc/page.h index ad4c5a1bc9d6..37e4756b6b2d 100644 --- a/include/asm-ppc/page.h +++ b/include/asm-ppc/page.h | |||
@@ -125,6 +125,8 @@ extern __inline__ int get_order(unsigned long size) | |||
125 | return 32 - lz; | 125 | return 32 - lz; |
126 | } | 126 | } |
127 | 127 | ||
128 | typedef struct page *pgtable_t; | ||
129 | |||
128 | #endif /* __ASSEMBLY__ */ | 130 | #endif /* __ASSEMBLY__ */ |
129 | 131 | ||
130 | #define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \ | 132 | #define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \ |