diff options
Diffstat (limited to 'arch/arm/kernel/topology.c')
| -rw-r--r-- | arch/arm/kernel/topology.c | 12 | 
1 files changed, 6 insertions, 6 deletions
diff --git a/arch/arm/kernel/topology.c b/arch/arm/kernel/topology.c index 5b9faba03afb..b5adaf744630 100644 --- a/arch/arm/kernel/topology.c +++ b/arch/arm/kernel/topology.c @@ -95,7 +95,7 @@ static void __init parse_dt_topology(void)  				 GFP_NOWAIT);  	for_each_possible_cpu(cpu) { -		const u32 *rate; +		const __be32 *rate;  		int len;  		/* too early to use cpu->of_node */ @@ -196,9 +196,8 @@ void store_cpu_topology(unsigned int cpuid)  	struct cpu_topology *cpuid_topo = &cpu_topology[cpuid];  	unsigned int mpidr; -	/* If the cpu topology has been already set, just return */ -	if (cpuid_topo->core_id != -1) -		return; +	if (cpuid_topo->package_id != -1) +		goto topology_populated;  	mpidr = read_cpuid_mpidr(); @@ -231,14 +230,15 @@ void store_cpu_topology(unsigned int cpuid)  		cpuid_topo->package_id = -1;  	} -	update_siblings_masks(cpuid); -  	update_cpu_capacity(cpuid);  	pr_info("CPU%u: thread %d, cpu %d, socket %d, mpidr %x\n",  		cpuid, cpu_topology[cpuid].thread_id,  		cpu_topology[cpuid].core_id,  		cpu_topology[cpuid].package_id, mpidr); + +topology_populated: +	update_siblings_masks(cpuid);  }  static inline int cpu_corepower_flags(void)  |