[PATCH AUTOSEL 6.17] mfd: macsmc: Add "apple,t8103-smc" compatible
Sasha Levin
sashal at kernel.org
Thu Oct 9 08:55:06 PDT 2025
From: Janne Grunau <j at jannau.net>
[ Upstream commit 9b959e525fa7e8518e57554b6e17849942938dfc ]
After discussion with the devicetree maintainers we agreed to not extend
lists with the generic compatible "apple,smc" anymore [1]. Use
"apple,t8103-smc" 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>
Link: https://lore.kernel.org/r/20250828-dt-apple-t6020-v1-18-507ba4c4b98e@jannau.net
Signed-off-by: Lee Jones <lee at kernel.org>
Signed-off-by: Sasha Levin <sashal at kernel.org>
---
LLM Generated explanations, may be completely bogus:
YES
- What changed
- Adds a new OF match entry `{ .compatible = "apple,t8103-smc" }` to
the driver’s match table in drivers/mfd/macsmc.c:481, leaving the
existing generic match `{ .compatible = "apple,smc" }` intact.
- Why it matters
- Devicetree policy is moving away from expanding generic compatibles
like `"apple,smc"` and towards SoC‑specific base compatibles. The
binding documents this pattern and uses SoC‑specific compatibles
with explicit fallback chains
(Documentation/devicetree/bindings/mfd/apple,smc.yaml:20).
- Current DTs for Apple SoCs use these patterns:
- t8103 (M1) nodes include `"apple,t8103-smc"`
(arch/arm64/boot/dts/apple/t8103.dtsi:900).
- t6020 (M2 Pro) nodes use `"apple,t6020-smc", "apple,t8103-smc"`
(arch/arm64/boot/dts/apple/t602x-die0.dtsi:105), intentionally
avoiding the generic `"apple,smc"`.
- Before this change, the driver only matched `"apple,smc"`
(v6.17:drivers/mfd/macsmc.c showed only the generic match), so
kernels without the `"apple,t8103-smc"` entry would fail to bind on
DTs that omit the generic fallback, causing the SMC MFD (and all
dependent subdevices like GPIO and reboot) not to probe.
- Risk and scope
- Minimal and contained: a one‑line addition to an OF match table
(drivers/mfd/macsmc.c:481). No functional code paths change, no
behavioral differences for already working systems, and no
architectural changes.
- Security-neutral: no new I/O or parsing paths are introduced; only
device binding is enabled for an SoC‑specific compatible.
- No negative side effects expected: the new match string is specific
and does not overlap with other drivers.
- Stable suitability
- This is a classic “device/compatible ID addition” that fixes a user-
visible binding failure when DTs conform to updated bindings that
avoid the generic `"apple,smc"`. Such ID additions are routinely
accepted into stable to enable hardware that otherwise won’t probe.
- Although the commit lacks an explicit Cc: stable, it meets stable
rules: important fix (driver doesn’t bind on modern DTs), minimal
risk, no features, and confined to the MFD subsystem.
Conclusion: Backporting ensures the macsmc driver binds on DTs using the
SoC-based compatible scheme (notably those that rely on
`"apple,t8103-smc"` fallback), with negligible regression risk.
drivers/mfd/macsmc.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/mfd/macsmc.c b/drivers/mfd/macsmc.c
index 870c8b2028a8f..a5e0b99484830 100644
--- a/drivers/mfd/macsmc.c
+++ b/drivers/mfd/macsmc.c
@@ -478,6 +478,7 @@ static int apple_smc_probe(struct platform_device *pdev)
}
static const struct of_device_id apple_smc_of_match[] = {
+ { .compatible = "apple,t8103-smc" },
{ .compatible = "apple,smc" },
{},
};
--
2.51.0
More information about the linux-arm-kernel
mailing list