Allow disabling CPU nodes using status = "disabled".

This allows a bootloader to change the number of available CPUs (for
example when a common DTS is used for SoC variants with different numbers
of cores) without deleting the nodes altogether (which may require
additional fixups where the CPU nodes are referenced, e.g. a cooling
map).

Signed-off-by: Matthias Schiffer <matthias.schif...@ew.tq-group.com>
---
 drivers/of/base.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/of/base.c b/drivers/of/base.c
index ea44fea99813..d547e9deced1 100644
--- a/drivers/of/base.c
+++ b/drivers/of/base.c
@@ -796,6 +796,8 @@ struct device_node *of_get_next_cpu_node(struct device_node 
*prev)
                of_node_put(node);
        }
        for (; next; next = next->sibling) {
+               if (!__of_device_is_available(next))
+                       continue;
                if (!(of_node_name_eq(next, "cpu") ||
                      __of_node_is_type(next, "cpu")))
                        continue;
-- 
2.17.1

Reply via email to