This series adds an iterator for cpu nodes and converts users over to use it or of_get_cpu_node in some cases. This allows us to remove the dependency on device_type property for cpu nodes though removing that from DTS files will have to wait for some time. In some cases, this makes the DT search more strict by only looking in /cpus child nodes rather than any node with the device_type == cpu. The iterator also honors the status property which is often forgotten.
I've only tested on ARM under QEMU and compiled powerpc.
Rob
Rob Herring (21): of: Add cpu node iterator for_each_of_cpu_node() of: Support matching cpu nodes with no 'reg' property ARM: use for_each_of_cpu_node iterator ARM: topology: remove unneeded check for /cpus node ARM: shmobile: use for_each_of_cpu_node iterator arm64: use for_each_of_cpu_node iterator c6x: use for_each_of_cpu_node iterator microblaze: get cpu node with of_get_cpu_node nios2: get cpu node with of_get_cpu_node openrisc: use for_each_of_cpu_node iterator powerpc: use for_each_of_cpu_node iterator powerpc: 4xx: get cpu node with of_get_cpu_node powerpc: 8xx: get cpu node with of_get_cpu_node riscv: use for_each_of_cpu_node iterator SH: use for_each_of_cpu_node iterator x86: DT: use for_each_of_cpu_node iterator clk: mvebu: use for_each_of_cpu_node iterator edac: cpc925: use for_each_of_cpu_node iterator iommu: fsl_pamu: use for_each_of_cpu_node iterator of: use for_each_of_cpu_node iterator fbdev: fsl-diu: get cpu node with of_get_cpu_node
arch/arm/kernel/devtree.c | 5 +-- arch/arm/kernel/topology.c | 6 --- arch/arm/mach-shmobile/pm-rcar-gen2.c | 8 +--- arch/arm/mach-shmobile/pm-rmobile.c | 2 +- arch/arm/mach-shmobile/timer.c | 10 +---- arch/arm64/kernel/smp.c | 2 +- arch/c6x/kernel/setup.c | 11 ++--- arch/microblaze/kernel/cpu/cpuinfo.c | 4 +- arch/nios2/kernel/cpuinfo.c | 4 +- arch/openrisc/kernel/setup.c | 3 +- arch/powerpc/platforms/4xx/soc.c | 2 +- arch/powerpc/platforms/8xx/m8xx_setup.c | 5 ++- arch/powerpc/platforms/powermac/feature.c | 51 ++++++++--------------- arch/powerpc/platforms/powermac/setup.c | 15 +++---- arch/riscv/kernel/smpboot.c | 2 +- arch/sh/boards/of-generic.c | 2 +- arch/x86/kernel/devicetree.c | 2 +- drivers/clk/mvebu/clk-cpu.c | 4 +- drivers/edac/cpc925_edac.c | 20 +-------- drivers/iommu/fsl_pamu.c | 2 +- drivers/of/base.c | 43 ++++++++++++++++++- drivers/of/of_numa.c | 15 +------ drivers/video/fbdev/fsl-diu-fb.c | 2 +- include/linux/of.h | 11 +++++ 24 files changed, 111 insertions(+), 120 deletions(-)
-- 2.17.1
"device_type" use is deprecated for FDT though it has continued to be used for nodes like cpu nodes. Use of_get_cpu_node() instead which works using node names by default. This will allow the eventually removal of cpu device_type properties.
Cc: Timur Tabi timur@kernel.org Cc: Bartlomiej Zolnierkiewicz b.zolnierkie@samsung.com Cc: linux-fbdev@vger.kernel.org Cc: dri-devel@lists.freedesktop.org Signed-off-by: Rob Herring robh@kernel.org --- Please ack and I will take via the DT tree. This is dependent on the first 2 patches.
drivers/video/fbdev/fsl-diu-fb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/video/fbdev/fsl-diu-fb.c b/drivers/video/fbdev/fsl-diu-fb.c index bc9eb8afc313..332a56b6811f 100644 --- a/drivers/video/fbdev/fsl-diu-fb.c +++ b/drivers/video/fbdev/fsl-diu-fb.c @@ -1925,7 +1925,7 @@ static int __init fsl_diu_init(void) pr_info("Freescale Display Interface Unit (DIU) framebuffer driver\n");
#ifdef CONFIG_NOT_COHERENT_CACHE - np = of_find_node_by_type(NULL, "cpu"); + np = of_get_cpu_node(0, NULL); if (!np) { pr_err("fsl-diu-fb: can't find 'cpu' device node\n"); return -ENODEV; -- 2.17.1
On 9/5/18 2:37 PM, Rob Herring wrote:
#ifdef CONFIG_NOT_COHERENT_CACHE
- np = of_find_node_by_type(NULL, "cpu");
- np = of_get_cpu_node(0, NULL);
This #ifdef means that it's only compiled on an MPC5121, which is a very dead platform. of_get_cpu_node() looks okay to me, but I'm going to have to assume that you know what you're doing.
Acked-by: Timur Tabi timur@kernel.org
Hi Rob,
2018-09-05 21:37 GMT+02:00 Rob Herring robh@kernel.org:
This series adds an iterator for cpu nodes and converts users over to use it or of_get_cpu_node in some cases. This allows us to remove the dependency on device_type property for cpu nodes though removing that from DTS files will have to wait for some time. In some cases, this makes the DT search more strict by only looking in /cpus child nodes rather than any node with the device_type == cpu. The iterator also honors the status property which is often forgotten.
I've only tested on ARM under QEMU and compiled powerpc.
Do you have this somewhere in your tree not to apply 21 patches by hand?
Thanks, Michal
On Fri, Sep 7, 2018 at 7:54 AM Michal Simek monstr@monstr.eu wrote:
Hi Rob,
2018-09-05 21:37 GMT+02:00 Rob Herring robh@kernel.org:
This series adds an iterator for cpu nodes and converts users over to use it or of_get_cpu_node in some cases. This allows us to remove the dependency on device_type property for cpu nodes though removing that from DTS files will have to wait for some time. In some cases, this makes the DT search more strict by only looking in /cpus child nodes rather than any node with the device_type == cpu. The iterator also honors the status property which is often forgotten.
I've only tested on ARM under QEMU and compiled powerpc.
Do you have this somewhere in your tree not to apply 21 patches by hand?
Yes, dt/cpu-type branch on my kernel.org tree.
Rob
dri-devel@lists.freedesktop.org