summaryrefslogtreecommitdiffstats
path: root/drivers/of/base.c
diff options
context:
space:
mode:
authorRob Herring2018-08-27 20:46:51 +0200
committerRob Herring2018-09-28 21:25:58 +0200
commit6487c15f1cc9340fa010d94eeab72ebb657b21dc (patch)
tree4c3eecbd1592fd99693f351ec308b2fd067f4f8c /drivers/of/base.c
parentof: Add cpu node iterator for_each_of_cpu_node() (diff)
downloadkernel-qcow2-linux-6487c15f1cc9340fa010d94eeab72ebb657b21dc.tar.gz
kernel-qcow2-linux-6487c15f1cc9340fa010d94eeab72ebb657b21dc.tar.xz
kernel-qcow2-linux-6487c15f1cc9340fa010d94eeab72ebb657b21dc.zip
of: Support matching cpu nodes with no 'reg' property
For some single core ARM systems, the DTs can have a single cpu node without a reg property and #address-cells == 0. This case is valid and should match on cpu #0. Cc: Frank Rowand <frowand.list@gmail.com> Signed-off-by: Rob Herring <robh@kernel.org>
Diffstat (limited to 'drivers/of/base.c')
-rw-r--r--drivers/of/base.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/of/base.c b/drivers/of/base.c
index 4807db0a35b3..bd51d2113cc0 100644
--- a/drivers/of/base.c
+++ b/drivers/of/base.c
@@ -327,6 +327,8 @@ static bool __of_find_n_match_cpu_property(struct device_node *cpun,
ac = of_n_addr_cells(cpun);
cell = of_get_property(cpun, prop_name, &prop_len);
+ if (!cell && !ac && arch_match_cpu_phys_id(cpu, 0))
+ return true;
if (!cell || !ac)
return false;
prop_len /= sizeof(*cell) * ac;