[PATCH v6 05/10] mfd: Add Apple Silicon System Management Controller
Sven Peter
sven at svenpeter.dev
Thu May 22 03:35:29 PDT 2025
Hi,
On Thu, May 22, 2025, at 10:59, Lee Jones wrote:
> On Thu, 15 May 2025, Sven Peter via B4 Relay wrote:
>
>> From: Sven Peter <sven at svenpeter.dev>
>>
>> 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 <marcan at marcan.st>
>> Signed-off-by: Hector Martin <marcan at marcan.st>
>> Reviewed-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
>> Reviewed-by: Neal Gompa <neal at gompa.dev>
>> Signed-off-by: Sven Peter <sven at svenpeter.dev>
>> ---
>> 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.
Ack.
>
>> + .of_match_table = apple_smc_of_match,
>> + },
>> + .probe = apple_smc_probe,
>> +};
>> +module_platform_driver(apple_smc_driver);
>> +
>> +MODULE_AUTHOR("Hector Martin <marcan at marcan.st>");
>> +MODULE_AUTHOR("Sven Peter <sven at svenpeter.dev>");
>> +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?
The only thing missing is a review/ack from the power/reset maintainers.
I will send v7 after the merge window rebased on -rc1 then.
Thanks,
Sven
More information about the linux-arm-kernel
mailing list