[GIT PULL] ARM: SoC/genpd driver updates for v6.6

From: Ulf Hansson
Date: Tue Aug 29 2023 - 17:35:33 EST


Hi Linus,

Here's a pull-request that introduces the genpd provider subsystem.

Most of the changes have been shared via an immutable branch/tag, which has
been pulled in by Arnd Bergmann into the soc tree. However, as I have also
queued up a couple of additional changes on top, I am sending this pull request
for you.

The changes have been tested in linux-next via
git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm.git next|fixes

Beyond v6.6-rc1, I am planning to keep sending pull-requests with fixes and new
material for new genpd provider subsystem to you. If you prefer another route,
please let us know.

Kind regards
Ulf Hansson


The following changes since commit 06c2afb862f9da8dc5efa4b6076a0e48c3fbaaa5:

Linux 6.5-rc1 (2023-07-09 13:53:13 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm.git tags/genpd-v6.6

for you to fetch changes up to 5e536362f6ab97f709c07bfda962a7bb036c2563:

genpd: ti: Use for_each_node_with_property() simplify code logic (2023-08-25 12:04:57 +0200)

----------------------------------------------------------------
This pull-request adds a new subsystem for genpd providers in drivers/genpd
and starts moving some of the corresponding code in there.

We have currently ~60 users of the genpd provider interface, which are
sprinkled across various subsystems. To release some burden from the soc
maintainers (Arnd Bergmann, etc) in particular, but also to gain a better
overall view of what goes on in the area, I will help out with maintenance.

----------------------------------------------------------------
Arnd Bergmann (2):
soc: starfive: remove stale Makefile entry
genpd: move owl-sps-helper.c from drivers/soc

Lukas Bulwahn (1):
MAINTAINERS: adjust file entry in STARFIVE JH71XX PMU CONTROLLER DRIVER

Peng Fan (7):
genpd: Makefile: build imx
genpd: imx: relocate scu-pd under genpd
genpd: imx: scu-pd: enlarge PD range
genpd: imx: scu-pd: add more PDs
genpd: imx: scu-pd: do not power off console if no_console_suspend
genpd: imx: scu-pd: Suppress bind attrs
genpd: imx: scu-pd: initialize is_off according to HW state

Rob Herring (1):
genpd: Explicitly include correct DT includes

Ulf Hansson (18):
genpd: Create a new subsystem directory to host genpd providers
soc: actions: Move power-domain driver to the genpd dir
soc: amlogic: Move power-domain drivers to the genpd dir
soc: apple: Move power-domain driver to the genpd dir
soc: bcm: Move power-domain drivers to the genpd dir
soc: imx: Move power-domain drivers to the genpd dir
soc: mediatek: Move power-domain drivers to the genpd dir
soc: qcom: Move power-domain drivers to the genpd dir
soc: renesas: Move power-domain drivers to the genpd dir
soc: rockchip: Mover power-domain driver to the genpd dir
soc: samsung: Move power-domain driver to the genpd dir
soc: starfive: Move the power-domain driver to the genpd dir
soc: sunxi: Move power-domain driver to the genpd dir
soc: tegra: Move powergate-bpmp driver to the genpd dir
soc: ti: Mover power-domain drivers to the genpd dir
soc: xilinx: Move power-domain driver to the genpd dir
ARM: ux500: Convert power-domain code into a regular platform driver
ARM: ux500: Move power-domain driver to the genpd dir

Zhang Zekun (1):
genpd: ti: Use for_each_node_with_property() simplify code logic

MAINTAINERS | 22 +++-
arch/arm/mach-ux500/Makefile | 1 -
arch/arm/mach-ux500/cpu-db8500.c | 5 -
arch/arm/mach-ux500/pm_domains.h | 17 ---
drivers/Makefile | 1 +
drivers/firmware/imx/Makefile | 1 -
drivers/genpd/Makefile | 17 +++
drivers/genpd/actions/Makefile | 3 +
drivers/{soc => genpd}/actions/owl-sps-helper.c | 0
drivers/{soc => genpd}/actions/owl-sps.c | 0
drivers/genpd/amlogic/Makefile | 4 +
drivers/{soc => genpd}/amlogic/meson-ee-pwrc.c | 0
drivers/{soc => genpd}/amlogic/meson-gx-pwrc-vpu.c | 0
drivers/{soc => genpd}/amlogic/meson-secure-pwrc.c | 0
drivers/genpd/apple/Makefile | 2 +
.../apple/pmgr-pwrstate.c} | 0
drivers/genpd/bcm/Makefile | 5 +
drivers/{soc/bcm/bcm63xx => genpd/bcm}/bcm-pmb.c | 0
drivers/{soc => genpd}/bcm/bcm2835-power.c | 0
.../{soc/bcm/bcm63xx => genpd/bcm}/bcm63xx-power.c | 0
drivers/{soc => genpd}/bcm/raspberrypi-power.c | 0
drivers/genpd/imx/Makefile | 8 ++
drivers/{soc => genpd}/imx/gpc.c | 0
drivers/{soc => genpd}/imx/gpcv2.c | 0
drivers/{soc => genpd}/imx/imx8m-blk-ctrl.c | 0
drivers/{soc => genpd}/imx/imx8mp-blk-ctrl.c | 0
drivers/{soc => genpd}/imx/imx93-blk-ctrl.c | 0
drivers/{soc => genpd}/imx/imx93-pd.c | 0
drivers/{firmware => genpd}/imx/scu-pd.c | 138 +++++++++++++++++++--
drivers/genpd/mediatek/Makefile | 3 +
.../{soc => genpd}/mediatek/mt6795-pm-domains.h | 0
.../{soc => genpd}/mediatek/mt8167-pm-domains.h | 0
.../{soc => genpd}/mediatek/mt8173-pm-domains.h | 0
.../{soc => genpd}/mediatek/mt8183-pm-domains.h | 0
.../{soc => genpd}/mediatek/mt8186-pm-domains.h | 0
.../{soc => genpd}/mediatek/mt8188-pm-domains.h | 0
.../{soc => genpd}/mediatek/mt8192-pm-domains.h | 0
.../{soc => genpd}/mediatek/mt8195-pm-domains.h | 0
drivers/{soc => genpd}/mediatek/mtk-pm-domains.c | 2 +-
drivers/{soc => genpd}/mediatek/mtk-pm-domains.h | 0
drivers/{soc => genpd}/mediatek/mtk-scpsys.c | 2 +-
drivers/genpd/qcom/Makefile | 4 +
drivers/{soc => genpd}/qcom/cpr.c | 0
drivers/{soc => genpd}/qcom/rpmhpd.c | 0
drivers/{soc => genpd}/qcom/rpmpd.c | 0
drivers/genpd/renesas/Makefile | 30 +++++
drivers/{soc => genpd}/renesas/r8a7742-sysc.c | 0
drivers/{soc => genpd}/renesas/r8a7743-sysc.c | 0
drivers/{soc => genpd}/renesas/r8a7745-sysc.c | 0
drivers/{soc => genpd}/renesas/r8a77470-sysc.c | 0
drivers/{soc => genpd}/renesas/r8a774a1-sysc.c | 0
drivers/{soc => genpd}/renesas/r8a774b1-sysc.c | 0
drivers/{soc => genpd}/renesas/r8a774c0-sysc.c | 0
drivers/{soc => genpd}/renesas/r8a774e1-sysc.c | 0
drivers/{soc => genpd}/renesas/r8a7779-sysc.c | 0
drivers/{soc => genpd}/renesas/r8a7790-sysc.c | 0
drivers/{soc => genpd}/renesas/r8a7791-sysc.c | 0
drivers/{soc => genpd}/renesas/r8a7792-sysc.c | 0
drivers/{soc => genpd}/renesas/r8a7794-sysc.c | 0
drivers/{soc => genpd}/renesas/r8a7795-sysc.c | 0
drivers/{soc => genpd}/renesas/r8a7796-sysc.c | 0
drivers/{soc => genpd}/renesas/r8a77965-sysc.c | 0
drivers/{soc => genpd}/renesas/r8a77970-sysc.c | 0
drivers/{soc => genpd}/renesas/r8a77980-sysc.c | 0
drivers/{soc => genpd}/renesas/r8a77990-sysc.c | 0
drivers/{soc => genpd}/renesas/r8a77995-sysc.c | 0
drivers/{soc => genpd}/renesas/r8a779a0-sysc.c | 0
drivers/{soc => genpd}/renesas/r8a779f0-sysc.c | 0
drivers/{soc => genpd}/renesas/r8a779g0-sysc.c | 0
drivers/{soc => genpd}/renesas/rcar-gen4-sysc.c | 0
drivers/{soc => genpd}/renesas/rcar-gen4-sysc.h | 0
drivers/{soc => genpd}/renesas/rcar-sysc.c | 0
drivers/{soc => genpd}/renesas/rcar-sysc.h | 0
drivers/{soc => genpd}/renesas/rmobile-sysc.c | 0
drivers/genpd/rockchip/Makefile | 2 +
.../pm_domains.c => genpd/rockchip/pm-domains.c} | 0
drivers/genpd/samsung/Makefile | 2 +
.../samsung/exynos-pm-domains.c} | 0
drivers/genpd/st/Makefile | 2 +
.../genpd/st/ste-ux500-pm-domain.c | 25 +++-
drivers/genpd/starfive/Makefile | 2 +
.../jh71xx_pmu.c => genpd/starfive/jh71xx-pmu.c} | 0
drivers/genpd/sunxi/Makefile | 2 +
drivers/{soc => genpd}/sunxi/sun20i-ppu.c | 2 +-
drivers/genpd/tegra/Makefile | 2 +
drivers/{soc => genpd}/tegra/powergate-bpmp.c | 0
drivers/genpd/ti/Makefile | 3 +
drivers/{soc => genpd}/ti/omap_prm.c | 0
drivers/{soc => genpd}/ti/ti_sci_pm_domains.c | 8 +-
drivers/genpd/xilinx/Makefile | 2 +
.../xilinx/zynqmp-pm-domains.c} | 0
drivers/soc/Makefile | 2 -
drivers/soc/actions/Makefile | 4 -
drivers/soc/amlogic/Makefile | 3 -
drivers/soc/apple/Makefile | 2 -
drivers/soc/bcm/Kconfig | 22 +++-
drivers/soc/bcm/Makefile | 3 -
drivers/soc/bcm/bcm63xx/Kconfig | 21 ----
drivers/soc/bcm/bcm63xx/Makefile | 3 -
drivers/soc/imx/Makefile | 7 +-
drivers/soc/mediatek/Makefile | 2 -
drivers/soc/qcom/Makefile | 3 -
drivers/soc/renesas/Makefile | 27 ----
drivers/soc/rockchip/Makefile | 1 -
drivers/soc/samsung/Makefile | 1 -
drivers/soc/starfive/Makefile | 3 -
drivers/soc/sunxi/Makefile | 1 -
drivers/soc/tegra/Makefile | 1 -
drivers/soc/ti/Makefile | 2 -
drivers/soc/xilinx/Makefile | 1 -
110 files changed, 288 insertions(+), 138 deletions(-)
delete mode 100644 arch/arm/mach-ux500/pm_domains.h
create mode 100644 drivers/genpd/Makefile
create mode 100644 drivers/genpd/actions/Makefile
rename drivers/{soc => genpd}/actions/owl-sps-helper.c (100%)
rename drivers/{soc => genpd}/actions/owl-sps.c (100%)
create mode 100644 drivers/genpd/amlogic/Makefile
rename drivers/{soc => genpd}/amlogic/meson-ee-pwrc.c (100%)
rename drivers/{soc => genpd}/amlogic/meson-gx-pwrc-vpu.c (100%)
rename drivers/{soc => genpd}/amlogic/meson-secure-pwrc.c (100%)
create mode 100644 drivers/genpd/apple/Makefile
rename drivers/{soc/apple/apple-pmgr-pwrstate.c => genpd/apple/pmgr-pwrstate.c} (100%)
create mode 100644 drivers/genpd/bcm/Makefile
rename drivers/{soc/bcm/bcm63xx => genpd/bcm}/bcm-pmb.c (100%)
rename drivers/{soc => genpd}/bcm/bcm2835-power.c (100%)
rename drivers/{soc/bcm/bcm63xx => genpd/bcm}/bcm63xx-power.c (100%)
rename drivers/{soc => genpd}/bcm/raspberrypi-power.c (100%)
create mode 100644 drivers/genpd/imx/Makefile
rename drivers/{soc => genpd}/imx/gpc.c (100%)
rename drivers/{soc => genpd}/imx/gpcv2.c (100%)
rename drivers/{soc => genpd}/imx/imx8m-blk-ctrl.c (100%)
rename drivers/{soc => genpd}/imx/imx8mp-blk-ctrl.c (100%)
rename drivers/{soc => genpd}/imx/imx93-blk-ctrl.c (100%)
rename drivers/{soc => genpd}/imx/imx93-pd.c (100%)
rename drivers/{firmware => genpd}/imx/scu-pd.c (75%)
create mode 100644 drivers/genpd/mediatek/Makefile
rename drivers/{soc => genpd}/mediatek/mt6795-pm-domains.h (100%)
rename drivers/{soc => genpd}/mediatek/mt8167-pm-domains.h (100%)
rename drivers/{soc => genpd}/mediatek/mt8173-pm-domains.h (100%)
rename drivers/{soc => genpd}/mediatek/mt8183-pm-domains.h (100%)
rename drivers/{soc => genpd}/mediatek/mt8186-pm-domains.h (100%)
rename drivers/{soc => genpd}/mediatek/mt8188-pm-domains.h (100%)
rename drivers/{soc => genpd}/mediatek/mt8192-pm-domains.h (100%)
rename drivers/{soc => genpd}/mediatek/mt8195-pm-domains.h (100%)
rename drivers/{soc => genpd}/mediatek/mtk-pm-domains.c (99%)
rename drivers/{soc => genpd}/mediatek/mtk-pm-domains.h (100%)
rename drivers/{soc => genpd}/mediatek/mtk-scpsys.c (99%)
create mode 100644 drivers/genpd/qcom/Makefile
rename drivers/{soc => genpd}/qcom/cpr.c (100%)
rename drivers/{soc => genpd}/qcom/rpmhpd.c (100%)
rename drivers/{soc => genpd}/qcom/rpmpd.c (100%)
create mode 100644 drivers/genpd/renesas/Makefile
rename drivers/{soc => genpd}/renesas/r8a7742-sysc.c (100%)
rename drivers/{soc => genpd}/renesas/r8a7743-sysc.c (100%)
rename drivers/{soc => genpd}/renesas/r8a7745-sysc.c (100%)
rename drivers/{soc => genpd}/renesas/r8a77470-sysc.c (100%)
rename drivers/{soc => genpd}/renesas/r8a774a1-sysc.c (100%)
rename drivers/{soc => genpd}/renesas/r8a774b1-sysc.c (100%)
rename drivers/{soc => genpd}/renesas/r8a774c0-sysc.c (100%)
rename drivers/{soc => genpd}/renesas/r8a774e1-sysc.c (100%)
rename drivers/{soc => genpd}/renesas/r8a7779-sysc.c (100%)
rename drivers/{soc => genpd}/renesas/r8a7790-sysc.c (100%)
rename drivers/{soc => genpd}/renesas/r8a7791-sysc.c (100%)
rename drivers/{soc => genpd}/renesas/r8a7792-sysc.c (100%)
rename drivers/{soc => genpd}/renesas/r8a7794-sysc.c (100%)
rename drivers/{soc => genpd}/renesas/r8a7795-sysc.c (100%)
rename drivers/{soc => genpd}/renesas/r8a7796-sysc.c (100%)
rename drivers/{soc => genpd}/renesas/r8a77965-sysc.c (100%)
rename drivers/{soc => genpd}/renesas/r8a77970-sysc.c (100%)
rename drivers/{soc => genpd}/renesas/r8a77980-sysc.c (100%)
rename drivers/{soc => genpd}/renesas/r8a77990-sysc.c (100%)
rename drivers/{soc => genpd}/renesas/r8a77995-sysc.c (100%)
rename drivers/{soc => genpd}/renesas/r8a779a0-sysc.c (100%)
rename drivers/{soc => genpd}/renesas/r8a779f0-sysc.c (100%)
rename drivers/{soc => genpd}/renesas/r8a779g0-sysc.c (100%)
rename drivers/{soc => genpd}/renesas/rcar-gen4-sysc.c (100%)
rename drivers/{soc => genpd}/renesas/rcar-gen4-sysc.h (100%)
rename drivers/{soc => genpd}/renesas/rcar-sysc.c (100%)
rename drivers/{soc => genpd}/renesas/rcar-sysc.h (100%)
rename drivers/{soc => genpd}/renesas/rmobile-sysc.c (100%)
create mode 100644 drivers/genpd/rockchip/Makefile
rename drivers/{soc/rockchip/pm_domains.c => genpd/rockchip/pm-domains.c} (100%)
create mode 100644 drivers/genpd/samsung/Makefile
rename drivers/{soc/samsung/pm_domains.c => genpd/samsung/exynos-pm-domains.c} (100%)
create mode 100644 drivers/genpd/st/Makefile
rename arch/arm/mach-ux500/pm_domains.c => drivers/genpd/st/ste-ux500-pm-domain.c (75%)
create mode 100644 drivers/genpd/starfive/Makefile
rename drivers/{soc/starfive/jh71xx_pmu.c => genpd/starfive/jh71xx-pmu.c} (100%)
create mode 100644 drivers/genpd/sunxi/Makefile
rename drivers/{soc => genpd}/sunxi/sun20i-ppu.c (99%)
create mode 100644 drivers/genpd/tegra/Makefile
rename drivers/{soc => genpd}/tegra/powergate-bpmp.c (100%)
create mode 100644 drivers/genpd/ti/Makefile
rename drivers/{soc => genpd}/ti/omap_prm.c (100%)
rename drivers/{soc => genpd}/ti/ti_sci_pm_domains.c (97%)
create mode 100644 drivers/genpd/xilinx/Makefile
rename drivers/{soc/xilinx/zynqmp_pm_domains.c => genpd/xilinx/zynqmp-pm-domains.c} (100%)
delete mode 100644 drivers/soc/actions/Makefile
delete mode 100644 drivers/soc/bcm/bcm63xx/Kconfig
delete mode 100644 drivers/soc/bcm/bcm63xx/Makefile
delete mode 100644 drivers/soc/starfive/Makefile