drivers: base: cacheinfo: fix x86 with CONFIG_OF enabled
authorSudeep Holla <sudeep.holla@arm.com>
Fri, 28 Oct 2016 08:45:28 +0000 (09:45 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Nov 2016 16:30:53 +0000 (17:30 +0100)
commitfac51482577d5e05bbb0efa8d602a3c2111098bf
tree0cd98898970e87486aab524e09a080231aa2bf7a
parent79543cf2b18ea4a35f8864849d7ad8882ea8a23d
drivers: base: cacheinfo: fix x86 with CONFIG_OF enabled

With CONFIG_OF enabled on x86, we get the following error on boot:
"
Failed to find cpu0 device node
  Unable to detect cache hierarchy from DT for CPU 0
"
and the cacheinfo fails to get populated in the corresponding sysfs
entries. This is because cache_setup_of_node looks for of_node for
setting up the shared cpu_map without checking that it's already
populated in the architecture specific callback.

In order to indicate that the shared cpu_map is already populated, this
patch introduces a boolean `cpu_map_populated` in struct cpu_cacheinfo
that can be used by the generic code to skip cache_shared_cpu_map_setup.

This patch also sets that boolean for x86.

Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/x86/kernel/cpu/intel_cacheinfo.c
drivers/base/cacheinfo.c
include/linux/cacheinfo.h