devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/2] Remove syscon compatible from google,gs101-pmu node
@ 2025-11-14 12:00 Peter Griffin
  2025-11-14 12:00 ` [PATCH v2 1/2] dt-bindings: soc: samsung: exynos-pmu: remove syscon for google,gs101-pmu Peter Griffin
  2025-11-14 12:00 ` [PATCH v2 2/2] arm64: dts: exynos: gs101: remove syscon compatible from pmu node Peter Griffin
  0 siblings, 2 replies; 4+ messages in thread
From: Peter Griffin @ 2025-11-14 12:00 UTC (permalink / raw)
  To: André Draszik, Tudor Ambarus, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Alim Akhtar
  Cc: linux-arm-kernel, linux-samsung-soc, devicetree, linux-kernel,
	kernel-team, willmcvicker, dan.carpenter, arnd, robh,
	Peter Griffin

Hi folks,

This series removes the syscon compatible from the pmu_system_controller
node, by updating both yaml bindings and device tree.

Since commit ba5095ebbc7a ("mfd: syscon: Allow syscon nodes without a
"syscon" compatible") it is possible to register a regmap without the
syscon compatible in the node.

As noted in that commit, it isn't really correct to claim we are compatible
with syscon, as a MMIO regmap created by syscon driver won't work on gs101.
Removing the syscon compatible means the syscon driver won't ever attempt
to create a mmio regmap.

Currently we rely on exynos-pmu running and registering its regmap at a
very early initcall level, so no mmio created regmap is returned. For
pinctrl driver that runs at the same initcall level as exynos-pmu today we
have a custom exynos_get_pmu_regmap_by_phandle() API that supports
-EPROBE_DEFER.

However with the changes proposed in [1] -EPROBE_DEFER will become
supported in the syscon driver directly making this whole approach more
robust especially in a highly modularized system with other drivers at the
same initcall level. We should also be able to remove the custom API
referenced above.

Technically this is a ABI break but no other platforms are affected. With
an old DT we will have the behaviour of today (rely on early initcall
levels). But once [1] is merged, with a new DT we will benefit from
-EPROBE_DEFER. Additionally PMU write register access was never working
with a mmio syscon so the ABI break is justified.

regards,

Peter

Link: https://lore.kernel.org/lkml/aQdHmrchkmOr34r3@stanley.mountain/ [1]

Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
---
Changes in v2:
- Update commit description (Krzysztof)
- Change Items to enum, remove const (Krzysztof)
- Checkpatch warning commit msg length (Krzysztof)
- Link to v1: https://lore.kernel.org/r/20251103-remove-pmu-syscon-compat-v1-0-f2cb7f9ade6f@linaro.org

---
Peter Griffin (2):
      dt-bindings: soc: samsung: exynos-pmu: remove syscon for google,gs101-pmu
      arm64: dts: exynos: gs101: remove syscon compatible from pmu node

 Documentation/devicetree/bindings/soc/samsung/exynos-pmu.yaml | 3 ++-
 arch/arm64/boot/dts/exynos/google/gs101.dtsi                  | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)
---
base-commit: 72fb0170ef1f45addf726319c52a0562b6913707
change-id: 20251102-remove-pmu-syscon-compat-dbbc492a4eea

Best regards,
-- 
Peter Griffin <peter.griffin@linaro.org>


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH v2 1/2] dt-bindings: soc: samsung: exynos-pmu: remove syscon for google,gs101-pmu
  2025-11-14 12:00 [PATCH v2 0/2] Remove syscon compatible from google,gs101-pmu node Peter Griffin
@ 2025-11-14 12:00 ` Peter Griffin
  2025-11-20  0:09   ` Rob Herring (Arm)
  2025-11-14 12:00 ` [PATCH v2 2/2] arm64: dts: exynos: gs101: remove syscon compatible from pmu node Peter Griffin
  1 sibling, 1 reply; 4+ messages in thread
From: Peter Griffin @ 2025-11-14 12:00 UTC (permalink / raw)
  To: André Draszik, Tudor Ambarus, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Alim Akhtar
  Cc: linux-arm-kernel, linux-samsung-soc, devicetree, linux-kernel,
	kernel-team, willmcvicker, dan.carpenter, arnd, robh,
	Peter Griffin

Since commit ba5095ebbc7a ("mfd: syscon: Allow syscon nodes without a
"syscon" compatible") it is possible to register a regmap without the
syscon compatible in the node.

Update the bindings for google,gs101-pmu so that the syscon compatible is
no longer required. As it isn't really correct to claim we are compatible
with syscon (as a mmio regmap created by syscon will not work on gs101).

Additionally (with the benefit of hindsight) PMU register writes were never
working with a MMIO syscon on gs101, so the ABI break is justified.

Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
---
Changes in v2:
 - Update commit description (Krzysztof)
 - Change Items to enum, remove const (Krzysztof)
 - Checkpatch warning commit msg length (Krzysztof)
---
 Documentation/devicetree/bindings/soc/samsung/exynos-pmu.yaml | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/soc/samsung/exynos-pmu.yaml b/Documentation/devicetree/bindings/soc/samsung/exynos-pmu.yaml
index be1441193feeea1c12d0d5370168e9316c8dcf76..84821c38d28d0be6d44fca06bfd63bffc12a8656 100644
--- a/Documentation/devicetree/bindings/soc/samsung/exynos-pmu.yaml
+++ b/Documentation/devicetree/bindings/soc/samsung/exynos-pmu.yaml
@@ -34,9 +34,10 @@ select:
 properties:
   compatible:
     oneOf:
+      - enum:
+          - google,gs101-pmu
       - items:
           - enum:
-              - google,gs101-pmu
               - samsung,exynos3250-pmu
               - samsung,exynos4210-pmu
               - samsung,exynos4212-pmu

-- 
2.52.0.rc1.455.g30608eb744-goog


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH v2 2/2] arm64: dts: exynos: gs101: remove syscon compatible from pmu node
  2025-11-14 12:00 [PATCH v2 0/2] Remove syscon compatible from google,gs101-pmu node Peter Griffin
  2025-11-14 12:00 ` [PATCH v2 1/2] dt-bindings: soc: samsung: exynos-pmu: remove syscon for google,gs101-pmu Peter Griffin
@ 2025-11-14 12:00 ` Peter Griffin
  1 sibling, 0 replies; 4+ messages in thread
From: Peter Griffin @ 2025-11-14 12:00 UTC (permalink / raw)
  To: André Draszik, Tudor Ambarus, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Alim Akhtar
  Cc: linux-arm-kernel, linux-samsung-soc, devicetree, linux-kernel,
	kernel-team, willmcvicker, dan.carpenter, arnd, robh,
	Peter Griffin

Since commit ba5095ebbc7a ("mfd: syscon: Allow syscon nodes without a
"syscon" compatible") it is possible to register a regmap without the
syscon compatible in the node.

As mentioned in that commit, it's not correct to claim we are compatible
with syscon, as a MMIO regmap created by syscon won't work. Removing the
syscon compatible means syscon driver won't ever create a mmio regmap.

Note this isn't usually an issue today as exynos-pmu runs at an early
initcall so the custom regmap will have been registered first. However
changes proposed in [1] will bring -EPROBE_DEFER support to syscon allowing
this mechanism to be more robust, especially in highly modularized systems.

Technically this is a ABI break but no other platforms are
affected. Additionally (with the benefit of hindsight) a MMIO syscon has
never worked for PMU register writes, thus the ABI break is justified.

Link: https://lore.kernel.org/lkml/aQdHmrchkmOr34r3@stanley.mountain/ [1]
Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
---
Changes in v2:
 - Update commit message (Krzysztof)
---
 arch/arm64/boot/dts/exynos/google/gs101.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/exynos/google/gs101.dtsi b/arch/arm64/boot/dts/exynos/google/gs101.dtsi
index d06d1d05f36408137a8acd98e43d48ea7d4f4292..e1a7d33fd4a369f7b352b81d2070beb62a0ced16 100644
--- a/arch/arm64/boot/dts/exynos/google/gs101.dtsi
+++ b/arch/arm64/boot/dts/exynos/google/gs101.dtsi
@@ -1705,7 +1705,7 @@ sysreg_apm: syscon@17420000 {
 		};
 
 		pmu_system_controller: system-controller@17460000 {
-			compatible = "google,gs101-pmu", "syscon";
+			compatible = "google,gs101-pmu";
 			reg = <0x17460000 0x10000>;
 			google,pmu-intr-gen-syscon = <&pmu_intr_gen>;
 

-- 
2.52.0.rc1.455.g30608eb744-goog


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v2 1/2] dt-bindings: soc: samsung: exynos-pmu: remove syscon for google,gs101-pmu
  2025-11-14 12:00 ` [PATCH v2 1/2] dt-bindings: soc: samsung: exynos-pmu: remove syscon for google,gs101-pmu Peter Griffin
@ 2025-11-20  0:09   ` Rob Herring (Arm)
  0 siblings, 0 replies; 4+ messages in thread
From: Rob Herring (Arm) @ 2025-11-20  0:09 UTC (permalink / raw)
  To: Peter Griffin
  Cc: Tudor Ambarus, dan.carpenter, Conor Dooley, linux-samsung-soc,
	willmcvicker, devicetree, Alim Akhtar, kernel-team, arnd,
	André Draszik, linux-arm-kernel, linux-kernel,
	Krzysztof Kozlowski


On Fri, 14 Nov 2025 12:00:16 +0000, Peter Griffin wrote:
> Since commit ba5095ebbc7a ("mfd: syscon: Allow syscon nodes without a
> "syscon" compatible") it is possible to register a regmap without the
> syscon compatible in the node.
> 
> Update the bindings for google,gs101-pmu so that the syscon compatible is
> no longer required. As it isn't really correct to claim we are compatible
> with syscon (as a mmio regmap created by syscon will not work on gs101).
> 
> Additionally (with the benefit of hindsight) PMU register writes were never
> working with a MMIO syscon on gs101, so the ABI break is justified.
> 
> Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
> ---
> Changes in v2:
>  - Update commit description (Krzysztof)
>  - Change Items to enum, remove const (Krzysztof)
>  - Checkpatch warning commit msg length (Krzysztof)
> ---
>  Documentation/devicetree/bindings/soc/samsung/exynos-pmu.yaml | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 

Acked-by: Rob Herring (Arm) <robh@kernel.org>


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2025-11-20  0:09 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-14 12:00 [PATCH v2 0/2] Remove syscon compatible from google,gs101-pmu node Peter Griffin
2025-11-14 12:00 ` [PATCH v2 1/2] dt-bindings: soc: samsung: exynos-pmu: remove syscon for google,gs101-pmu Peter Griffin
2025-11-20  0:09   ` Rob Herring (Arm)
2025-11-14 12:00 ` [PATCH v2 2/2] arm64: dts: exynos: gs101: remove syscon compatible from pmu node Peter Griffin

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).