[GIT PULL 2/2] Devicetree updates for v6.4

From: Rob Herring
Date: Tue Apr 25 2023 - 18:00:10 EST


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