[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