[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230329-dt-cpu-header-cleanups-v1-0-581e2605fe47@kernel.org>
Date: Wed, 29 Mar 2023 10:51:57 -0500
From: Rob Herring <robh@...nel.org>
To: "David S. Miller" <davem@...emloft.net>,
Rob Herring <robh+dt@...nel.org>,
Frank Rowand <frowand.list@...il.com>,
Russell King <linux@...linux.org.uk>,
Chen-Yu Tsai <wens@...e.org>,
Jernej Skrabec <jernej.skrabec@...il.com>,
Samuel Holland <samuel@...lland.org>,
Paul Walmsley <paul.walmsley@...ive.com>,
Palmer Dabbelt <palmer@...belt.com>,
Albert Ou <aou@...s.berkeley.edu>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
"Rafael J. Wysocki" <rafael@...nel.org>,
Daniel Lezcano <daniel.lezcano@...aro.org>,
Thomas Gleixner <tglx@...utronix.de>,
Amit Daniel Kachhap <amit.kachhap@...il.com>,
Viresh Kumar <viresh.kumar@...aro.org>,
Lukasz Luba <lukasz.luba@....com>,
Amit Kucheria <amitk@...nel.org>,
Zhang Rui <rui.zhang@...el.com>,
Matthias Brugger <matthias.bgg@...il.com>,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@...labora.com>,
Michael Ellerman <mpe@...erman.id.au>,
Nicholas Piggin <npiggin@...il.com>,
Christophe Leroy <christophe.leroy@...roup.eu>,
Thierry Reding <thierry.reding@...il.com>,
Jonathan Hunter <jonathanh@...dia.com>,
Yangtao Li <tiny.windzz@...il.com>,
Lorenzo Pieralisi <lpieralisi@...nel.org>,
Sudeep Holla <sudeep.holla@....com>,
Andy Gross <agross@...nel.org>,
Bjorn Andersson <andersson@...nel.org>,
Konrad Dybcio <konrad.dybcio@...aro.org>,
Anup Patel <anup@...infault.org>,
Huacai Chen <chenhuacai@...nel.org>,
Jiaxun Yang <jiaxun.yang@...goat.com>,
Marc Zyngier <maz@...nel.org>,
Viresh Kumar <vireshk@...nel.org>, Nishanth Menon <nm@...com>,
Stephen Boyd <sboyd@...nel.org>
Cc: sparclinux@...r.kernel.org, linux-kernel@...r.kernel.org,
devicetree@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-sunxi@...ts.linux.dev, linux-riscv@...ts.infradead.org,
linux-pm@...r.kernel.org, linux-mediatek@...ts.infradead.org,
linuxppc-dev@...ts.ozlabs.org, linux-tegra@...r.kernel.org,
linux-arm-msm@...r.kernel.org, linux-mips@...r.kernel.org
Subject: [PATCH 00/19] DT header disentangling, part 1
This is the first of a series of clean-ups to disentangle the DT
includes. There's a decade plus old comment in of_device.h:
#include <linux/of_platform.h> /* temporary until merge */
Who's this Grant person that wrote this? ;)
It gets better. of_device.h also pulls in of.h, and of_platform.h
includes of_device.h. So naturally, drivers include all combinations of
those 3 headers and sometimes they actually need them.
I started on fixing this years ago, but just dropping the circular
includes and fixing all the fallout was massive and didn't sit well.
Pulling in of_device.h in all the drivers that happen to call only
of_device_get_match_data/of_match_device didn't seem great when the rest
of of_device.h would never be needed. of_device.h being everything that
works on a struct device is not a great split because several types of
users deal with struct device. The better split seems to be by user
(subsys driver vs. consumer) which several subsystems now do. For
of_device.h, the users can primarily be split between bus
implementations and device drivers. Device drivers also typically need
of.h to read properties. So let's move of_device.h towards just bus
related functions and move device driver related functions to of.h.
This series is just the first step. It makes a couple of clean-ups to
replace some includes with forward declarations. It moves
of_device_get_match_data() and of_cpu_device_node_get() to of.h. The
former move is transparent for now and preparation for the next series.
The last part of the series updates drivers using
of_cpu_device_node_get() and/or relying on the implicit cpu.h include
which is removed in the last patch.
Signed-off-by: Rob Herring <robh@...nel.org>
---
Rob Herring (19):
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
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 +
drivers/base/cacheinfo.c | 2 +-
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/irqchip/irq-loongson-eiointc.c | 5 +-
drivers/of/Makefile | 2 +-
drivers/of/base.c | 187 -----------------------------
drivers/of/cpu.c | 210 +++++++++++++++++++++++++++++++++
drivers/of/of_private.h | 1 +
drivers/opp/of.c | 2 +-
drivers/soc/mediatek/mtk-svs.c | 1 +
drivers/thermal/cpuidle_cooling.c | 3 +-
include/linux/cpufreq.h | 1 -
include/linux/of.h | 28 +++--
include/linux/of_device.h | 24 +---
include/linux/of_platform.h | 10 +-
33 files changed, 261 insertions(+), 254 deletions(-)
---
base-commit: fe15c26ee26efa11741a7b632e9f23b01aca4cc6
change-id: 20230329-dt-cpu-header-cleanups-c7bed8c0b352
Best regards,
--
Rob Herring <robh@...nel.org>
Powered by blists - more mailing lists