Linus, Please pull 2/2 DT updates. I ended up with this branch merged in at the top of my tree, so I'm just sending it to you separately. There's a 2 merge conflicts with char-misc tree. linux-next has the correct resolutions. Rob The following changes since commit fe15c26ee26efa11741a7b632e9f23b01aca4cc6: Linux 6.3-rc1 (2023-03-05 14:52:03 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git tags/devicetree-for-6.4-2 for you to fetch changes up to 1c5e9170ad93d3bd62a7ed8380e60b62c88b90a8: bus: tegra-gmi: Replace of_platform.h with explicit includes (2023-04-21 09:20:56 -0500) ---------------------------------------------------------------- Devicetree updates for v6.4, part 2: - First part of DT header detangling dropping cpu.h from of_device.h and replacing some includes with forward declarations. A handful of drivers needed some adjustment to their includes as a result. - Refactor of_device.h to be used by bus drivers rather than various device drivers. This moves non-bus related functions out of of_device.h. The end goal is for of_platform.h and of_device.h to stop including each other. - Refactor open coded parsing of "ranges" in some bus drivers to use DT address parsing functions - Add some new address parsing functions of_property_read_reg(), of_range_count(), and of_range_to_resource() in preparation to convert more open coded parsing of DT addresses to use them. - Treewide clean-ups to use of_property_read_bool() and of_property_present() as appropriate. The ones here are the ones that didn't get picked up elsewhere. ---------------------------------------------------------------- Rob Herring (34): bus: uniphier-system-bus: Remove open coded "ranges" parsing of: Make devtree_lock declaration private of: Move of_device_(add|register|unregister) to of_platform.h of: Move of_device_get_match_data() declaration of: Move CPU node related functions to their own file of: Drop unnecessary includes in headers ARM: sunxi: Drop of_device.h include ARM: cpuidle: Drop of_device.h include riscv: Add explicit include for cpu.h riscv: cacheinfo: Adjust includes to remove of_device.h cacheinfo: Adjust includes to remove of_device.h clocksource: ingenic: Add explicit include for cpuhotplug.h thermal: cpuidle_cooling: Adjust includes to remove of_device.h soc: mediatek: mtk-svs: Add explicit include for cpu.h cpufreq: Adjust includes to remove of_device.h cpufreq: sun50i: Add explicit include for cpu.h cpuidle: Adjust includes to remove of_device.h irqchip: loongson-eiointc: Add explicit include for cpuhotplug.h OPP: Adjust includes to remove of_device.h of: Drop cpu.h include from of_device.h of: unittest: Add bus address range parsing tests of/address: Add of_range_to_resource() helper of/address: Add support for 3 address cell bus of/address: Add of_range_count() helper of/address: Add of_property_read_reg() helper bus: mvebu-mbus: Remove open coded "ranges" parsing sparc: Use of_property_present() for testing DT property presence sparc: Use of_property_read_bool() for boolean properties sbus: display7seg: Use of_property_read_bool() for boolean properties soc: fsl: Use of_property_present() for testing DT property presence virt: fsl: Use of_property_present() for testing DT property presence w1: w1-gpio: Use of_property_read_bool() for boolean properties hte: Use of_property_present() for testing DT property presence bus: tegra-gmi: Replace of_platform.h with explicit includes arch/arm/kernel/cpuidle.c | 1 - arch/arm/mach-sunxi/mc_smp.c | 1 - arch/riscv/kernel/cacheinfo.c | 1 - arch/riscv/kernel/setup.c | 2 +- arch/sparc/include/asm/prom.h | 3 + arch/sparc/kernel/of_device_32.c | 4 +- arch/sparc/kernel/of_device_64.c | 6 +- arch/sparc/kernel/of_device_common.c | 2 +- arch/sparc/kernel/pci_schizo.c | 2 +- arch/sparc/kernel/power.c | 2 +- arch/sparc/kernel/prom_64.c | 2 +- arch/sparc/kernel/time_32.c | 2 +- drivers/base/cacheinfo.c | 2 +- drivers/bus/mvebu-mbus.c | 58 ++------ drivers/bus/tegra-gmi.c | 4 +- drivers/bus/uniphier-system-bus.c | 54 ++----- drivers/clocksource/ingenic-timer.c | 3 +- drivers/cpufreq/cpufreq-dt-platdev.c | 1 - drivers/cpufreq/kirkwood-cpufreq.c | 2 +- drivers/cpufreq/maple-cpufreq.c | 2 +- drivers/cpufreq/pmac32-cpufreq.c | 2 +- drivers/cpufreq/pmac64-cpufreq.c | 2 +- drivers/cpufreq/qcom-cpufreq-hw.c | 4 +- drivers/cpufreq/spear-cpufreq.c | 2 +- drivers/cpufreq/sun50i-cpufreq-nvmem.c | 3 +- drivers/cpufreq/tegra124-cpufreq.c | 1 - drivers/cpufreq/tegra20-cpufreq.c | 2 +- drivers/cpuidle/cpuidle-psci.c | 1 - drivers/cpuidle/cpuidle-qcom-spm.c | 3 +- drivers/cpuidle/cpuidle-riscv-sbi.c | 2 +- drivers/cpuidle/dt_idle_states.c | 1 - drivers/hte/hte.c | 2 +- drivers/irqchip/irq-loongson-eiointc.c | 5 +- drivers/of/Makefile | 2 +- drivers/of/address.c | 76 +++++++++- drivers/of/base.c | 187 ------------------------- drivers/of/cpu.c | 210 ++++++++++++++++++++++++++++ drivers/of/of_private.h | 1 + drivers/of/unittest-data/tests-address.dtsi | 9 +- drivers/of/unittest.c | 150 ++++++++++++++++++++ drivers/opp/of.c | 2 +- drivers/sbus/char/display7seg.c | 5 +- drivers/soc/fsl/qbman/dpaa_sys.c | 8 +- drivers/soc/mediatek/mtk-svs.c | 1 + drivers/thermal/cpuidle_cooling.c | 3 +- drivers/virt/fsl_hypervisor.c | 2 +- drivers/w1/masters/w1-gpio.c | 2 +- include/linux/cpufreq.h | 1 - include/linux/of.h | 32 +++-- include/linux/of_address.h | 31 ++++ include/linux/of_device.h | 29 +--- include/linux/of_platform.h | 10 +- 52 files changed, 568 insertions(+), 377 deletions(-) create mode 100644 drivers/of/cpu.c