On 24/07/17 11:29, Suzuki K Poulose wrote:
Add a helper to map a device node to a logical CPU number to avoid
duplication. Currently this is open coded in different places (e.g
gic-v3, coresight). The helper tries to map device node to a "possible"
logical CPU id, which may not be online yet. It is the responsibility
of the user to make sure that the CPU is online. The helper uses
of_get_cpu_node() which uses arch specific backends to match the phyiscal
ids.
Cc: Rob Herring <robh+dt@xxxxxxxxxx>
Cc: Mark Rutland <mark.rutland@xxxxxxx>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@xxxxxxx>
---
drivers/of/base.c | 26 ++++++++++++++++++++++++++
include/linux/of_device.h | 7 +++++++
2 files changed, 33 insertions(+)
diff --git a/drivers/of/base.c b/drivers/of/base.c
index 686628d..639af23 100644
--- a/drivers/of/base.c
+++ b/drivers/of/base.c
+int of_device_node_get_cpu(struct device_node *cpu_node)
+{
+ int cpu, thread;
+ bool found = false;
+ struct device_node *np;
+
+ for_each_possible_cpu(cpu) {
+ np = of_get_cpu_node(cpu, &thread);
nit: Since you don't need the thread here, you can pass NULL instead.
FWIW:
Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx>