linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/18] genpd: Create a genpd directory to host genpd providers
@ 2023-07-11 14:19 Ulf Hansson
  0 siblings, 0 replies; only message in thread
From: Ulf Hansson @ 2023-07-11 14:19 UTC (permalink / raw)
  To: Arnd Bergmann, Olof Johansson
  Cc: Linus Walleij, Michal Simek, Nishanth Menon, Santosh Shilimkar,
	Tero Kristo, Tony Lindgren, Thierry Reding, Jonathan Hunter,
	Mikko Perttunen, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland,
	Walker Chen, Conor Dooley, Krzysztof Kozlowski, Alim Akhtar,
	Heiko Stuebner, Geert Uytterhoeven, Magnus Damm, Bjorn Andersson,
	Konrad Dybcio, Andy Gross, Matthias Brugger,
	AngeloGioacchino Del Regno, Shawn Guo, Sascha Hauer,
	Fabio Estevam, Florian Fainelli, Ray Jui, Scott Branden,
	Hector Martin, Sven Peter, Alyssa Rosenzweig, Neil Armstrong,
	Kevin Hilman, Jerome Brunet, Martin Blumenstingl, Andreas Farber,
	Manivannan Sadhasivam, Ulf Hansson, linux-pm, linux-arm-kernel,
	linux-kernel

Changes in v2:
	- Added/updated commit messages to patch2 - > patch18.
	- Fixed the build for amlogic
	- Added a few tags for acks/reviewed by.
	- Cc all platform/soc maintainers on the cover-letter and patch1.
	- Updated the path to the git tree. The git is now created.
	- Rebased on v6.5-rc1.
	- Update the cover letter a bit.

There are currently ~60 users of the genpd provider interface, which
implementations are sprinkled across various subsystems. To help out with
maintenance and to gain a bit better control, let's create a new subsystem
(drivers/genpd) and move some of the providers from the soc directories in here.

Clearly some providers aren't really feasible to move - and that's perfectly
fine too. We don't need to keep all genpd providers together to improve the
situation, but keeping most of them would be nice, I think. At this point I
have walked through driver/soc and /arch/ - deferring others to later. Moreover,
I am intentionally leaving the Kconfig files in drivers/soc/, as I think it's
better to discuss what to with them separately.

Note that, the intention is also to host a git tree (it's not been created yet,
but should be quick if this seems reasonable to everybody), to collect and to
get the patches tested/integrated through the linux-next tree. Ideally this
should release some of the burden on the soc maintainers (Arnd/Olof/etc).

Note that, going forward - it's probably best to funnel this through the soc
tree (I can send a pull request if agreed) the I can take over in the next
release cycle at v6.6-rc1 and onwards. In that case, I will of course require
acks/reviews from the current platform/soc maintainers, hence the MAINTAINERS
are also being updated as a part of $subject series.

Does this make sense?

Kind regards
Ulf Hansson


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

 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/genpd/Makefile                        | 16 ++++++++++
 drivers/genpd/actions/Makefile                |  2 ++
 drivers/{soc => genpd}/actions/owl-sps.c      |  0
 drivers/genpd/amlogic/Makefile                |  4 +++
 .../{soc => genpd}/amlogic/meson-ee-pwrc.c    |  0
 .../amlogic/meson-gx-pwrc-vpu.c               |  0
 .../amlogic/meson-secure-pwrc.c               |  0
 drivers/genpd/apple/Makefile                  |  2 ++
 .../apple/pmgr-pwrstate.c}                    |  0
 drivers/genpd/bcm/Makefile                    |  5 ++++
 .../{soc/bcm/bcm63xx => genpd/bcm}/bcm-pmb.c  |  0
 drivers/{soc => genpd}/bcm/bcm2835-power.c    |  0
 .../bcm/bcm63xx => genpd/bcm}/bcm63xx-power.c |  0
 .../{soc => genpd}/bcm/raspberrypi-power.c    |  0
 drivers/genpd/imx/Makefile                    |  7 +++++
 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/genpd/mediatek/Makefile               |  3 ++
 .../mediatek/mt6795-pm-domains.h              |  0
 .../mediatek/mt8167-pm-domains.h              |  0
 .../mediatek/mt8173-pm-domains.h              |  0
 .../mediatek/mt8183-pm-domains.h              |  0
 .../mediatek/mt8186-pm-domains.h              |  0
 .../mediatek/mt8188-pm-domains.h              |  0
 .../mediatek/mt8192-pm-domains.h              |  0
 .../mediatek/mt8195-pm-domains.h              |  0
 .../{soc => genpd}/mediatek/mtk-pm-domains.c  |  0
 .../{soc => genpd}/mediatek/mtk-pm-domains.h  |  0
 drivers/{soc => genpd}/mediatek/mtk-scpsys.c  |  0
 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
 .../{soc => genpd}/renesas/r8a77470-sysc.c    |  0
 .../{soc => genpd}/renesas/r8a774a1-sysc.c    |  0
 .../{soc => genpd}/renesas/r8a774b1-sysc.c    |  0
 .../{soc => genpd}/renesas/r8a774c0-sysc.c    |  0
 .../{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
 .../{soc => genpd}/renesas/r8a77965-sysc.c    |  0
 .../{soc => genpd}/renesas/r8a77970-sysc.c    |  0
 .../{soc => genpd}/renesas/r8a77980-sysc.c    |  0
 .../{soc => genpd}/renesas/r8a77990-sysc.c    |  0
 .../{soc => genpd}/renesas/r8a77995-sysc.c    |  0
 .../{soc => genpd}/renesas/r8a779a0-sysc.c    |  0
 .../{soc => genpd}/renesas/r8a779f0-sysc.c    |  0
 .../{soc => genpd}/renesas/r8a779g0-sysc.c    |  0
 .../{soc => genpd}/renesas/rcar-gen4-sysc.c   |  0
 .../{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 ++
 .../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 ++
 .../starfive/jh71xx-pmu.c}                    |  0
 drivers/genpd/sunxi/Makefile                  |  2 ++
 drivers/{soc => genpd}/sunxi/sun20i-ppu.c     |  0
 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 |  0
 drivers/genpd/xilinx/Makefile                 |  2 ++
 .../xilinx/zynqmp-pm-domains.c}               |  0
 drivers/soc/actions/Makefile                  |  1 -
 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 -
 106 files changed, 150 insertions(+), 115 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.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%)
 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 (100%)
 rename drivers/{soc => genpd}/mediatek/mtk-pm-domains.h (100%)
 rename drivers/{soc => genpd}/mediatek/mtk-scpsys.c (100%)
 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 (100%)
 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 (100%)
 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/bcm/bcm63xx/Kconfig
 delete mode 100644 drivers/soc/bcm/bcm63xx/Makefile
 delete mode 100644 drivers/soc/starfive/Makefile

-- 
2.34.1


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-07-11 14:20 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-11 14:19 [PATCH v2 00/18] genpd: Create a genpd directory to host genpd providers Ulf Hansson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).