diff options
| author | Olof Johansson <olof@lixom.net> | 2013-01-31 22:39:17 -0500 |
|---|---|---|
| committer | Olof Johansson <olof@lixom.net> | 2013-01-31 22:39:27 -0500 |
| commit | 07e0da3dca218ff042fc9cd31cbe3636a41d183d (patch) | |
| tree | 71c5070c98c84a66c32185912f0893f360464eb1 | |
| parent | 6ed05a2aab3763b58922247543d7079106b254dc (diff) | |
| parent | dc784e73b45dc055f9dcb174ea5753ea020516fc (diff) | |
Merge tag 'renesas-soc2-for-v3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc
From Simon Horman:
Second round of Renesas ARM-based SoC changes for v3.9
* Changes to allow unplugging of CPU0 by Ulrich Hecht.
* Changes to add reg and device_type properties to cpus
device trees entries by Simon Horman.
* tag 'renesas-soc2-for-v3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: mach-shmobile: sh73a0: allow unplugging of CPU0
ARM: mach-shmobile: add shmobile_cpu_disable_any()
ARM: mach-shmobile: emev2: Add reg and device_type properties to cpus
ARM: mach-shmobile: sh73a0: Add reg and device_type properties to cpus
Signed-off-by: Olof Johansson <olof@lixom.net>
| -rw-r--r-- | arch/arm/boot/dts/emev2.dtsi | 7 | ||||
| -rw-r--r-- | arch/arm/boot/dts/sh73a0.dtsi | 7 | ||||
| -rw-r--r-- | arch/arm/mach-shmobile/hotplug.c | 6 | ||||
| -rw-r--r-- | arch/arm/mach-shmobile/include/mach/common.h | 1 | ||||
| -rw-r--r-- | arch/arm/mach-shmobile/smp-sh73a0.c | 2 |
5 files changed, 22 insertions, 1 deletions
diff --git a/arch/arm/boot/dts/emev2.dtsi b/arch/arm/boot/dts/emev2.dtsi index eb504a6c0f4a..c8a8c08b48dd 100644 --- a/arch/arm/boot/dts/emev2.dtsi +++ b/arch/arm/boot/dts/emev2.dtsi | |||
| @@ -15,11 +15,18 @@ | |||
| 15 | interrupt-parent = <&gic>; | 15 | interrupt-parent = <&gic>; |
| 16 | 16 | ||
| 17 | cpus { | 17 | cpus { |
| 18 | #address-cells = <1>; | ||
| 19 | #size-cells = <0>; | ||
| 20 | |||
| 18 | cpu@0 { | 21 | cpu@0 { |
| 22 | device_type = "cpu"; | ||
| 19 | compatible = "arm,cortex-a9"; | 23 | compatible = "arm,cortex-a9"; |
| 24 | reg = <0>; | ||
| 20 | }; | 25 | }; |
| 21 | cpu@1 { | 26 | cpu@1 { |
| 27 | device_type = "cpu"; | ||
| 22 | compatible = "arm,cortex-a9"; | 28 | compatible = "arm,cortex-a9"; |
| 29 | reg = <1>; | ||
| 23 | }; | 30 | }; |
| 24 | }; | 31 | }; |
| 25 | 32 | ||
diff --git a/arch/arm/boot/dts/sh73a0.dtsi b/arch/arm/boot/dts/sh73a0.dtsi index 721f48668f98..8a59465d0231 100644 --- a/arch/arm/boot/dts/sh73a0.dtsi +++ b/arch/arm/boot/dts/sh73a0.dtsi | |||
| @@ -14,11 +14,18 @@ | |||
| 14 | compatible = "renesas,sh73a0"; | 14 | compatible = "renesas,sh73a0"; |
| 15 | 15 | ||
| 16 | cpus { | 16 | cpus { |
| 17 | #address-cells = <1>; | ||
| 18 | #size-cells = <0>; | ||
| 19 | |||
| 17 | cpu@0 { | 20 | cpu@0 { |
| 21 | device_type = "cpu"; | ||
| 18 | compatible = "arm,cortex-a9"; | 22 | compatible = "arm,cortex-a9"; |
| 23 | reg = <0>; | ||
| 19 | }; | 24 | }; |
| 20 | cpu@1 { | 25 | cpu@1 { |
| 26 | device_type = "cpu"; | ||
| 21 | compatible = "arm,cortex-a9"; | 27 | compatible = "arm,cortex-a9"; |
| 28 | reg = <1>; | ||
| 22 | }; | 29 | }; |
| 23 | }; | 30 | }; |
| 24 | 31 | ||
diff --git a/arch/arm/mach-shmobile/hotplug.c b/arch/arm/mach-shmobile/hotplug.c index b09a0bdbf813..a1524e3367b0 100644 --- a/arch/arm/mach-shmobile/hotplug.c +++ b/arch/arm/mach-shmobile/hotplug.c | |||
| @@ -56,6 +56,12 @@ int shmobile_cpu_disable(unsigned int cpu) | |||
| 56 | return cpu == 0 ? -EPERM : 0; | 56 | return cpu == 0 ? -EPERM : 0; |
| 57 | } | 57 | } |
| 58 | 58 | ||
| 59 | int shmobile_cpu_disable_any(unsigned int cpu) | ||
| 60 | { | ||
| 61 | cpumask_clear_cpu(cpu, &dead_cpus); | ||
| 62 | return 0; | ||
| 63 | } | ||
| 64 | |||
| 59 | int shmobile_cpu_is_dead(unsigned int cpu) | 65 | int shmobile_cpu_is_dead(unsigned int cpu) |
| 60 | { | 66 | { |
| 61 | return cpumask_test_cpu(cpu, &dead_cpus); | 67 | return cpumask_test_cpu(cpu, &dead_cpus); |
diff --git a/arch/arm/mach-shmobile/include/mach/common.h b/arch/arm/mach-shmobile/include/mach/common.h index 64c0622ae7d6..e48606d8a2be 100644 --- a/arch/arm/mach-shmobile/include/mach/common.h +++ b/arch/arm/mach-shmobile/include/mach/common.h | |||
| @@ -84,6 +84,7 @@ static inline int shmobile_cpuidle_init(void) { return 0; } | |||
| 84 | 84 | ||
| 85 | extern void shmobile_cpu_die(unsigned int cpu); | 85 | extern void shmobile_cpu_die(unsigned int cpu); |
| 86 | extern int shmobile_cpu_disable(unsigned int cpu); | 86 | extern int shmobile_cpu_disable(unsigned int cpu); |
| 87 | extern int shmobile_cpu_disable_any(unsigned int cpu); | ||
| 87 | 88 | ||
| 88 | #ifdef CONFIG_HOTPLUG_CPU | 89 | #ifdef CONFIG_HOTPLUG_CPU |
| 89 | extern int shmobile_cpu_is_dead(unsigned int cpu); | 90 | extern int shmobile_cpu_is_dead(unsigned int cpu); |
diff --git a/arch/arm/mach-shmobile/smp-sh73a0.c b/arch/arm/mach-shmobile/smp-sh73a0.c index 9812ea3255c9..acb46a94ccdf 100644 --- a/arch/arm/mach-shmobile/smp-sh73a0.c +++ b/arch/arm/mach-shmobile/smp-sh73a0.c | |||
| @@ -143,6 +143,6 @@ struct smp_operations sh73a0_smp_ops __initdata = { | |||
| 143 | #ifdef CONFIG_HOTPLUG_CPU | 143 | #ifdef CONFIG_HOTPLUG_CPU |
| 144 | .cpu_kill = sh73a0_cpu_kill, | 144 | .cpu_kill = sh73a0_cpu_kill, |
| 145 | .cpu_die = sh73a0_cpu_die, | 145 | .cpu_die = sh73a0_cpu_die, |
| 146 | .cpu_disable = shmobile_cpu_disable, | 146 | .cpu_disable = shmobile_cpu_disable_any, |
| 147 | #endif | 147 | #endif |
| 148 | }; | 148 | }; |
