Re: [PATCH 03/18] soc: amlogic: Move power-domain drivers to the genpd dir

From: Ulf Hansson
Date: Mon Jul 10 2023 - 08:37:41 EST


On Sun, 9 Jul 2023 at 04:21, Bjorn Andersson <andersson@xxxxxxxxxx> wrote:
>
> On Fri, Jul 07, 2023 at 05:27:39PM +0200, Ulf Hansson wrote:
> > On Fri, 7 Jul 2023 at 17:12, <neil.armstrong@xxxxxxxxxx> wrote:
> > >
> > > On 07/07/2023 16:54, Ulf Hansson wrote:
> > > > On Fri, 7 Jul 2023 at 16:42, Neil Armstrong <neil.armstrong@xxxxxxxxxx> wrote:
> > > >>
> > > >> Hi,
> > > >>
> > > >> On 07/07/2023 16:04, Ulf Hansson wrote:
> > > >>> Cc: Neil Armstrong <neil.armstrong@xxxxxxxxxx>
> > > >>> Cc: Kevin Hilman <khilman@xxxxxxxxxxxx>
> > > >>> Cc: Jerome Brunet <jbrunet@xxxxxxxxxxxx>
> > > >>> Cc: Martin Blumenstingl <martin.blumenstingl@xxxxxxxxxxxxxx>
> > > >>> Cc: <linux-amlogic@xxxxxxxxxxxxxxxxxxx>
> > > >>> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
> > > >>> ---
> > > >>> MAINTAINERS | 1 +
> > > >>> drivers/genpd/Makefile | 1 +
> > > >>> 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/soc/Makefile | 1 -
> > > >>> drivers/soc/amlogic/Makefile | 3 ---
> > > >>> 8 files changed, 6 insertions(+), 4 deletions(-)
> > > >>> 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%)
> > > >>>
> > > >>> diff --git a/MAINTAINERS b/MAINTAINERS
> > > >>> index 588769fab516..9b8c9ae2375d 100644
> > > >>> --- a/MAINTAINERS
> > > >>> +++ b/MAINTAINERS
> > > >>> @@ -1843,6 +1843,7 @@ F: Documentation/devicetree/bindings/phy/amlogic*
> > > >>> F: arch/arm/boot/dts/amlogic/
> > > >>> F: arch/arm/mach-meson/
> > > >>> F: arch/arm64/boot/dts/amlogic/
> > > >>> +F: drivers/genpd/amlogic/
> > > >>> F: drivers/mmc/host/meson*
> > > >>> F: drivers/phy/amlogic/
> > > >>> F: drivers/pinctrl/meson/
> > > >>> diff --git a/drivers/genpd/Makefile b/drivers/genpd/Makefile
> > > >>> index a2d5b2095915..cdba3b9f0c75 100644
> > > >>> --- a/drivers/genpd/Makefile
> > > >>> +++ b/drivers/genpd/Makefile
> > > >>> @@ -1,2 +1,3 @@
> > > >>> # SPDX-License-Identifier: GPL-2.0-only
> > > >>> obj-y += actions/
> > > >>> +obj-y += amlogic/
> > > >>> diff --git a/drivers/genpd/amlogic/Makefile b/drivers/genpd/amlogic/Makefile
> > > >>> new file mode 100644
> > > >>> index 000000000000..3d58abd574f9
> > > >>> --- /dev/null
> > > >>> +++ b/drivers/genpd/amlogic/Makefile
> > > >>> @@ -0,0 +1,4 @@
> > > >>> +# SPDX-License-Identifier: GPL-2.0-only
> > > >>> +obj-$(CONFIG_MESON_GX_PM_DOMAINS) += meson-gx-pwrc-vpu.o
> > > >>> +obj-$(CONFIG_MESON_EE_PM_DOMAINS) += meson-ee-pwrc.o
> > > >>> +obj-$(CONFIG_MESON_SECURE_PM_DOMAINS) += meson-secure-pwrc.o
> > > >>> diff --git a/drivers/soc/amlogic/meson-ee-pwrc.c b/drivers/genpd/amlogic/meson-ee-pwrc.c
> > > >>> similarity index 100%
> > > >>> rename from drivers/soc/amlogic/meson-ee-pwrc.c
> > > >>> rename to drivers/genpd/amlogic/meson-ee-pwrc.c
> > > >>> diff --git a/drivers/soc/amlogic/meson-gx-pwrc-vpu.c b/drivers/genpd/amlogic/meson-gx-pwrc-vpu.c
> > > >>> similarity index 100%
> > > >>> rename from drivers/soc/amlogic/meson-gx-pwrc-vpu.c
> > > >>> rename to drivers/genpd/amlogic/meson-gx-pwrc-vpu.c
> > > >>> diff --git a/drivers/soc/amlogic/meson-secure-pwrc.c b/drivers/genpd/amlogic/meson-secure-pwrc.c
> > > >>> similarity index 100%
> > > >>> rename from drivers/soc/amlogic/meson-secure-pwrc.c
> > > >>> rename to drivers/genpd/amlogic/meson-secure-pwrc.c
> > > >>> diff --git a/drivers/soc/Makefile b/drivers/soc/Makefile
> > > >>> index 3b0f9fb3b5c8..dc93e1762ca7 100644
> > > >>> --- a/drivers/soc/Makefile
> > > >>> +++ b/drivers/soc/Makefile
> > > >>> @@ -23,7 +23,6 @@ obj-y += mediatek/
> > > >>> obj-y += microchip/
> > > >>> obj-y += nuvoton/
> > > >>> obj-y += pxa/
> > > >>> -obj-y += amlogic/
> > > >>> obj-y += qcom/
> > > >>> obj-y += renesas/
> > > >>> obj-y += rockchip/
> > > >>> diff --git a/drivers/soc/amlogic/Makefile b/drivers/soc/amlogic/Makefile
> > > >>> index 7b8c5d323f5c..c25f835e6a26 100644
> > > >>> --- a/drivers/soc/amlogic/Makefile
> > > >>> +++ b/drivers/soc/amlogic/Makefile
> > > >>> @@ -2,7 +2,4 @@
> > > >>> obj-$(CONFIG_MESON_CANVAS) += meson-canvas.o
> > > >>> obj-$(CONFIG_MESON_CLK_MEASURE) += meson-clk-measure.o
> > > >>> obj-$(CONFIG_MESON_GX_SOCINFO) += meson-gx-socinfo.o
> > > >>> -obj-$(CONFIG_MESON_GX_PM_DOMAINS) += meson-gx-pwrc-vpu.o
> > > >>> obj-$(CONFIG_MESON_MX_SOCINFO) += meson-mx-socinfo.o
> > > >>> -obj-$(CONFIG_MESON_EE_PM_DOMAINS) += meson-ee-pwrc.o
> > > >>> -obj-$(CONFIG_MESON_SECURE_PM_DOMAINS) += meson-secure-pwrc.o
> > > >>
> > > >> I've a few changes for v6.6, how shall we handle that ?
> > > >
> > > > I think we should continue to use the soc tree until v6.6-rc1 (or if
> > > > Arnd have some other ideas), there are some more thoughts around this
> > > > in the cover letter.
> > > >
> > > > Beyond v6.6-rc1 I plan to help with maintenance in practice and run
> > > > my own separate git tree.
> > >
> > > If it helps I can send you a PR with only the pwrc changes you can merge
> > > before applying this serie.
> >
> > Right, that could be a good idea, but let's defer to Arnd before we
> > agree on the way forward.
> >
>
> How about sharing an immutable branch/tag with patch 1, then each one of
> us can merge that together with the soc-specific change, followed by any
> subsequent patches - leading up to the next merge window.
>
> Stephen will have a merge conflict in drivers/genpd/Makefile as each
> soc-specific addition comes in, and Arnd will see this conflict too. But
> this is going to be extremely trivial. But apart from this, there will
> not be any conflicts or additional branching constraints for us...
>

If I understand correctly, you are suggesting that each platform
maintainer should merge the immutable branch with patch1 - and that I
should send the patches (based on the immutable branch) to each of the
platform maintainers to manage. Instead of one pull request with
everything directly to Arnd, right?

This still means that Arnd will have to resolve the conflicts as the
pull requests arrive in his inbox.

Although, I guess what you are looking for is less work for the soc/
maintainers, which seems reasonable. Although, in that case, I might
as well share an immutable branch with the complete series, rather
than just patch1. That should help Arnd too, I think.

Again, let's leave the call to Arnd on what to do.

Kind regards
Uffe