diff options
author | Grant Likely <grant.likely@linaro.org> | 2013-10-03 22:04:31 +0200 |
---|---|---|
committer | Grant Likely <grant.likely@linaro.org> | 2013-10-14 13:43:44 +0200 |
commit | 444c91e5720cb5b825356e32c67c2c5184d1c09a (patch) | |
tree | a264d45e0bce1325775c12ae9c73e3d64b5df21d /drivers/of/base.c | |
parent | Linux 3.12-rc5 (diff) | |
download | linux-444c91e5720cb5b825356e32c67c2c5184d1c09a.tar.xz linux-444c91e5720cb5b825356e32c67c2c5184d1c09a.zip |
of: fix unnecessary warning on missing /cpus node
Not all DT platforms have all the cpus collected under a /cpus node.
That just happens to be a details of FDT, ePAPR and PowerPC platforms.
Sparc does something different, but unfortunately the current code
complains with a warning if /cpus isn't there. This became a problem
with commit f86e4718, "driver/core cpu: initialize of_node in cpu's
device structure", which caused the function to get called for all
architectures.
This commit is a temporary fix to fail silently if the cpus node isn't
present. A proper fix will come later to allow arch code to provide a
custom mechanism for decoding the CPU hwid if the 'reg' property isn't
appropriate.
Signed-off-by: Grant Likely <grant.likely@linaro.org>
Cc: David Miller <davem@davemloft.net>
Cc: Sudeep KarkadaNagesha <Sudeep.KarkadaNagesha@arm.com>
Cc: Rob Herring <rob.herring@calxeda.com>
Diffstat (limited to 'drivers/of/base.c')
-rw-r--r-- | drivers/of/base.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/of/base.c b/drivers/of/base.c index 865d3f66c86b..7d4c70f859e3 100644 --- a/drivers/of/base.c +++ b/drivers/of/base.c @@ -303,10 +303,8 @@ struct device_node *of_get_cpu_node(int cpu, unsigned int *thread) struct device_node *cpun, *cpus; cpus = of_find_node_by_path("/cpus"); - if (!cpus) { - pr_warn("Missing cpus node, bailing out\n"); + if (!cpus) return NULL; - } for_each_child_of_node(cpus, cpun) { if (of_node_cmp(cpun->type, "cpu")) |