[PATCH AUTOSEL 6.17-6.6] pmdomain: apple: Add "apple,t8103-pmgr-pwrstate"
Sasha Levin
sashal at kernel.org
Thu Oct 9 08:55:55 PDT 2025
From: Janne Grunau <j at jannau.net>
[ Upstream commit 442816f97a4f84cb321d3359177a3b9b0ce48a60 ]
After discussion with the devicetree maintainers we agreed to not extend
lists with the generic compatible "apple,pmgr-pwrstate" anymore [1]. Use
"apple,t8103-pmgr-pwrstate" as base compatible as it is the SoC the
driver and bindings were written for.
[1]: https://lore.kernel.org/asahi/12ab93b7-1fc2-4ce0-926e-c8141cfe81bf@kernel.org/
Signed-off-by: Janne Grunau <j at jannau.net>
Acked-by: Ulf Hansson <ulf.hansson at linaro.org>
Reviewed-by: Neal Gompa <neal at gompa.dev>
Acked-by: Rob Herring (Arm) <robh at kernel.org>
Signed-off-by: Sven Peter <sven at kernel.org>
Signed-off-by: Sasha Levin <sashal at kernel.org>
---
LLM Generated explanations, may be completely bogus:
YES
- What changed: The patch adds a single OF compatible to the driver
match table to explicitly support the Apple M1 (t8103) PMGR power-
state nodes. Concretely, it inserts `{ .compatible =
"apple,t8103-pmgr-pwrstate" }` in `drivers/pmdomain/apple/pmgr-
pwrstate.c:309`, keeping the existing generic fallback `{ .compatible
= "apple,pmgr-pwrstate" }` just below it (drivers/pmdomain/apple/pmgr-
pwrstate.c:310).
- Rationale from commit message: DT maintainers agreed to stop extending
nodes with the generic `"apple,pmgr-pwrstate"` and instead use the
SoC-specific string as the base compatible. Without this addition, a
DT using only `"apple,t8103-pmgr-pwrstate"` would fail to bind the
driver.
- Scope and risk: The change is a single-line device-ID addition to the
OF match table. It does not touch runtime logic, data structures,
Kconfig, or probe/remove paths. There are no architectural changes.
This kind of “add a new compatible ID” patch is routinely accepted for
stable because it’s low-risk and purely affects device binding.
- User impact fixed: On systems providing a DTB that omits the generic
fallback (aligned with the new binding guidance), the driver would not
probe, leaving PM domains and reset control unmanaged. Adding the
t8103 compatible restores functionality. This is a real, user-visible
failure mode when booting older kernels with newer DTBs or bootloader-
provided DTBs following updated conventions.
- Alignment with bindings: The bindings already enumerate SoC-specific
compatibles, including `"apple,t8103-pmgr-pwrstate"`
(Documentation/devicetree/bindings/power/apple,pmgr-pwrstate.yaml:41).
The driver now matches that SoC-specific string directly, which aligns
the implementation with binding expectations going forward.
- No regressions expected: Existing DTs that list both
`"apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate"` continue to bind
identically, only preferring the SoC-specific match. DTs that still
only have the generic string continue to work via the unchanged `{
.compatible = "apple,pmgr-pwrstate" }` entry
(drivers/pmdomain/apple/pmgr-pwrstate.c:310).
- Stable policy fit: This is a minimal, contained, non-feature change
that enables correct binding for an existing driver on an existing SoC
and prevents regressions with evolving DTs. There’s no security
implication and no interaction with critical core subsystems beyond OF
matching.
- Backport note: On older stable series, the file may reside under a
different path (pre-“pmdomain” rename). The change remains a trivial
OF-ID addition to the same match table in that file.
Given the above, this is a textbook low-risk backport that prevents real
breakage with newer DTBs and should be backported to stable trees that
already contain the Apple PMGR power-state driver.
drivers/pmdomain/apple/pmgr-pwrstate.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/pmdomain/apple/pmgr-pwrstate.c b/drivers/pmdomain/apple/pmgr-pwrstate.c
index 9467235110f46..82c33cf727a82 100644
--- a/drivers/pmdomain/apple/pmgr-pwrstate.c
+++ b/drivers/pmdomain/apple/pmgr-pwrstate.c
@@ -306,6 +306,7 @@ static int apple_pmgr_ps_probe(struct platform_device *pdev)
}
static const struct of_device_id apple_pmgr_ps_of_match[] = {
+ { .compatible = "apple,t8103-pmgr-pwrstate" },
{ .compatible = "apple,pmgr-pwrstate" },
{}
};
--
2.51.0
More information about the linux-arm-kernel
mailing list