diff options
| -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 eb504a6c0f4..c8a8c08b48d 100644 --- a/arch/arm/boot/dts/emev2.dtsi +++ b/arch/arm/boot/dts/emev2.dtsi @@ -15,11 +15,18 @@  	interrupt-parent = <&gic>;  	cpus { +		#address-cells = <1>; +		#size-cells = <0>; +  		cpu@0 { +			device_type = "cpu";  			compatible = "arm,cortex-a9"; +			reg = <0>;  		};  		cpu@1 { +			device_type = "cpu";  			compatible = "arm,cortex-a9"; +			reg = <1>;  		};  	}; diff --git a/arch/arm/boot/dts/sh73a0.dtsi b/arch/arm/boot/dts/sh73a0.dtsi index 721f48668f9..8a59465d023 100644 --- a/arch/arm/boot/dts/sh73a0.dtsi +++ b/arch/arm/boot/dts/sh73a0.dtsi @@ -14,11 +14,18 @@  	compatible = "renesas,sh73a0";  	cpus { +		#address-cells = <1>; +		#size-cells = <0>; +  		cpu@0 { +			device_type = "cpu";  			compatible = "arm,cortex-a9"; +			reg = <0>;  		};  		cpu@1 { +			device_type = "cpu";  			compatible = "arm,cortex-a9"; +			reg = <1>;  		};  	}; diff --git a/arch/arm/mach-shmobile/hotplug.c b/arch/arm/mach-shmobile/hotplug.c index b09a0bdbf81..a1524e3367b 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)  	return cpu == 0 ? -EPERM : 0;  } +int shmobile_cpu_disable_any(unsigned int cpu) +{ +	cpumask_clear_cpu(cpu, &dead_cpus); +	return 0; +} +  int shmobile_cpu_is_dead(unsigned int cpu)  {  	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 64c0622ae7d..e48606d8a2b 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; }  extern void shmobile_cpu_die(unsigned int cpu);  extern int shmobile_cpu_disable(unsigned int cpu); +extern int shmobile_cpu_disable_any(unsigned int cpu);  #ifdef CONFIG_HOTPLUG_CPU  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 9812ea3255c..acb46a94ccd 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 = {  #ifdef CONFIG_HOTPLUG_CPU  	.cpu_kill		= sh73a0_cpu_kill,  	.cpu_die		= sh73a0_cpu_die, -	.cpu_disable		= shmobile_cpu_disable, +	.cpu_disable		= shmobile_cpu_disable_any,  #endif  };  |