Thread (15 messages) 15 messages, 4 authors, 2025-05-22

Re: [PATCH v6 05/10] mfd: Add Apple Silicon System Management Controller

From: Lee Jones <lee@kernel.org>
Date: 2025-05-22 08:59:12
Also in: asahi, linux-arm-kernel, linux-gpio, linux-pm, lkml

On Thu, 15 May 2025, Sven Peter via B4 Relay wrote:
From: Sven Peter <redacted>

The System Management Controller (SMC) on Apple Silicon machines is a
piece of hardware that exposes various functionalities such as
temperature sensors, voltage/power meters, shutdown/reboot handling,
GPIOs and more.

Communication happens via a shared mailbox using the RTKit protocol
which is also used for other co-processors. The SMC protocol then allows
reading and writing many different keys which implement the various
features. The MFD core device handles this protocol and exposes it
to the sub-devices.

Some of the sub-devices are potentially also useful on pre-M1 Apple
machines and support for SMCs on these machines can be added at a later
time.

Co-developed-by: Hector Martin <redacted>
Signed-off-by: Hector Martin <redacted>
Reviewed-by: Alyssa Rosenzweig <redacted>
Reviewed-by: Neal Gompa <neal@gompa.dev>
Signed-off-by: Sven Peter <redacted>
---
 MAINTAINERS                |   2 +
 drivers/mfd/Kconfig        |  18 ++
 drivers/mfd/Makefile       |   1 +
 drivers/mfd/macsmc.c       | 498 +++++++++++++++++++++++++++++++++++++++++++++
 include/linux/mfd/macsmc.h | 279 +++++++++++++++++++++++++
 5 files changed, 798 insertions(+)
Arghhh, so close!

[...]
+static struct platform_driver apple_smc_driver = {
+	.driver = {
+		.name = "mfd-macsmc",
Drop the 'mfd-' part please.
+		.of_match_table = apple_smc_of_match,
+	},
+	.probe = apple_smc_probe,
+};
+module_platform_driver(apple_smc_driver);
+
+MODULE_AUTHOR("Hector Martin [off-list ref]");
+MODULE_AUTHOR("Sven Peter [off-list ref]");
+MODULE_LICENSE("Dual MIT/GPL");
+MODULE_DESCRIPTION("Apple SMC driver");
I plan to apply this set after the merge-window.

What else are you waiting on?

-- 
Lee Jones [李琼斯]
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help