OSDN Git Service

arm64: Use of_cpu_node_to_id helper for CPU topology parsing
authorSuzuki K Poulose <suzuki.poulose@arm.com>
Tue, 2 Jan 2018 11:25:30 +0000 (11:25 +0000)
committerWill Deacon <will.deacon@arm.com>
Tue, 2 Jan 2018 16:43:12 +0000 (16:43 +0000)
Make use of the new generic helper to convert an of_node of a CPU
to the logical CPU id in parsing the topology.

Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Leo Yan <leo.yan@linaro.org>
Cc: Will Deacon <will.deacon@arm.com>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/kernel/topology.c

index 8d48b23..2186853 100644 (file)
@@ -37,18 +37,14 @@ static int __init get_cpu_for_node(struct device_node *node)
        if (!cpu_node)
                return -1;
 
-       for_each_possible_cpu(cpu) {
-               if (of_get_cpu_node(cpu, NULL) == cpu_node) {
-                       topology_parse_cpu_capacity(cpu_node, cpu);
-                       of_node_put(cpu_node);
-                       return cpu;
-               }
-       }
-
-       pr_crit("Unable to find CPU node for %pOF\n", cpu_node);
+       cpu = of_cpu_node_to_id(cpu_node);
+       if (cpu >= 0)
+               topology_parse_cpu_capacity(cpu_node, cpu);
+       else
+               pr_crit("Unable to find CPU node for %pOF\n", cpu_node);
 
        of_node_put(cpu_node);
-       return -1;
+       return cpu;
 }
 
 static int __init parse_core(struct device_node *core, int cluster_id,