Message ID | 20220525081416.3306043-2-sudeep.holla@arm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | arch_topology: Updates to add socket support and fix cluster ids | expand |
On 5/25/22 4:14 PM, Sudeep Holla wrote: > The of_cpu_device_node_get takes care of fetching the CPU'd device node > either from cached cpu_dev->of_node if cpu_dev is initialised or uses > of_get_cpu_node to parse and fetch node if cpu_dev isn't available yet. > > Just use of_cpu_device_node_get instead of getting the cpu device first > and then using cpu_dev->of_node for two reasons: > 1. There is no other use of cpu_dev and can be simplified > 2. It enabled the use detect_cache_attributes and hence cache_setup_of_node > much earlier before the CPUs are registered as devices. > > Signed-off-by: Sudeep Holla <sudeep.holla@arm.com> > --- > drivers/base/cacheinfo.c | 9 ++------- > 1 file changed, 2 insertions(+), 7 deletions(-) > Reviewed-by: Gavin Shan <gshan@redhat.com> > diff --git a/drivers/base/cacheinfo.c b/drivers/base/cacheinfo.c > index dad296229161..b0bde272e2ae 100644 > --- a/drivers/base/cacheinfo.c > +++ b/drivers/base/cacheinfo.c > @@ -14,7 +14,7 @@ > #include <linux/cpu.h> > #include <linux/device.h> > #include <linux/init.h> > -#include <linux/of.h> > +#include <linux/of_device.h> > #include <linux/sched.h> > #include <linux/slab.h> > #include <linux/smp.h> > @@ -157,7 +157,6 @@ static int cache_setup_of_node(unsigned int cpu) > { > struct device_node *np; > struct cacheinfo *this_leaf; > - struct device *cpu_dev = get_cpu_device(cpu); > struct cpu_cacheinfo *this_cpu_ci = get_cpu_cacheinfo(cpu); > unsigned int index = 0; > > @@ -166,11 +165,7 @@ static int cache_setup_of_node(unsigned int cpu) > return 0; > } > > - if (!cpu_dev) { > - pr_err("No cpu device for CPU %d\n", cpu); > - return -ENODEV; > - } > - np = cpu_dev->of_node; > + np = of_cpu_device_node_get(cpu); > if (!np) { > pr_err("Failed to find cpu%d device node\n", cpu); > return -ENOENT; >
diff --git a/drivers/base/cacheinfo.c b/drivers/base/cacheinfo.c index dad296229161..b0bde272e2ae 100644 --- a/drivers/base/cacheinfo.c +++ b/drivers/base/cacheinfo.c @@ -14,7 +14,7 @@ #include <linux/cpu.h> #include <linux/device.h> #include <linux/init.h> -#include <linux/of.h> +#include <linux/of_device.h> #include <linux/sched.h> #include <linux/slab.h> #include <linux/smp.h> @@ -157,7 +157,6 @@ static int cache_setup_of_node(unsigned int cpu) { struct device_node *np; struct cacheinfo *this_leaf; - struct device *cpu_dev = get_cpu_device(cpu); struct cpu_cacheinfo *this_cpu_ci = get_cpu_cacheinfo(cpu); unsigned int index = 0; @@ -166,11 +165,7 @@ static int cache_setup_of_node(unsigned int cpu) return 0; } - if (!cpu_dev) { - pr_err("No cpu device for CPU %d\n", cpu); - return -ENODEV; - } - np = cpu_dev->of_node; + np = of_cpu_device_node_get(cpu); if (!np) { pr_err("Failed to find cpu%d device node\n", cpu); return -ENOENT;
The of_cpu_device_node_get takes care of fetching the CPU'd device node either from cached cpu_dev->of_node if cpu_dev is initialised or uses of_get_cpu_node to parse and fetch node if cpu_dev isn't available yet. Just use of_cpu_device_node_get instead of getting the cpu device first and then using cpu_dev->of_node for two reasons: 1. There is no other use of cpu_dev and can be simplified 2. It enabled the use detect_cache_attributes and hence cache_setup_of_node much earlier before the CPUs are registered as devices. Signed-off-by: Sudeep Holla <sudeep.holla@arm.com> --- drivers/base/cacheinfo.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-)