[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <fd0770c8-e5e0-4bdb-a3da-b4b39f664e61@kernel.org>
Date: Thu, 24 Jul 2025 08:08:34 +0200
From: Sven Peter <sven@...nel.org>
To: Lee Jones <lee@...nel.org>
Cc: Nick Chan <towinchenmi@...il.com>, asahi@...ts.linux.dev,
Neal Gompa <neal@...pa.dev>, linux-arm-kernel@...ts.infradead.org,
linux-gpio@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-pm@...r.kernel.org,
Linus Walleij <linus.walleij@...aro.org>,
"Russell King (Oracle)" <rmk+kernel@...linux.org.uk>,
Hector Martin <marcan@...can.st>, Conor Dooley <conor+dt@...nel.org>,
Janne Grunau <j@...nau.net>,
Sebastian Reichel <sebastian.reichel@...labora.com>,
Sebastian Reichel <sre@...nel.org>, Alyssa Rosenzweig
<alyssa@...enzweig.io>, Bartosz Golaszewski <brgl@...ev.pl>,
Rob Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>,
Marc Zyngier <maz@...nel.org>
Subject: Re: [PATCH v7 07/10] power: reset: macsmc-reboot: Add driver for
rebooting via Apple SMC
On 23.07.25 10:06, Lee Jones wrote:
> On Sat, 21 Jun 2025, Sven Peter wrote:
>
>> On 16.06.25 06:13, Nick Chan wrote:
>>>
>>>
>>> On 10/6/2025 23:29, Sven Peter wrote:
>>>> From: Hector Martin <marcan@...can.st>
>>>>
>>>> This driver implements the reboot/shutdown support exposed by the SMC
>>>> on Apple Silicon machines, such as Apple M1 Macs.
>>>>
>>>> Signed-off-by: Hector Martin <marcan@...can.st>
>>>> Reviewed-by: Alyssa Rosenzweig <alyssa@...enzweig.io>
>>>> Reviewed-by: Neal Gompa <neal@...pa.dev>
>>>> Reviewed-by: Sebastian Reichel <sebastian.reichel@...labora.com>
>>>> Signed-off-by: Sven Peter <sven@...nel.org>
>>>> ---
>>>> MAINTAINERS | 1 +
>>>> drivers/power/reset/Kconfig | 9 ++
>>>> drivers/power/reset/Makefile | 1 +
>>>> drivers/power/reset/macsmc-reboot.c | 290 ++++++++++++++++++++++++++++++++++++
>>>> 4 files changed, 301 insertions(+)
>>> [...]
>>>
>>> It seems that the reboot driver still probes even without the smc_reboot node in the smc node:
>>
>>
>> That's odd...
>>
>> Lee, is it expected that a mfd sub-device declared with
>> MFD_CELL_OF("macsmc-reboot", NULL, NULL, 0, 0, "apple,smc-reboot"),
>> is loaded even if there's no corresponding node in the device tree?
>>
>> I'll have to re-add the check that makes sure the sub-device is available
>> then.
>
> Yes, that's expected. MFD is orthogonal to DT with respect to device
> registration, unless you specifically disable the node in DT. If the
> node is missing, the device will still be registered, but no link will
> be made from the (non-existent) node to the 'of_node' pointer.
Makes sense!
>
> You have 3 choices; provide a DT node and explicitly set the status to
> 'disabled', optionally omit registration from MFD (i.e. do not call
> mfd_add_devices()) or check for (!pdev->dev.of_node) in the sub-device's
> .probe() and bomb out early if true.
>
Alright, so everything's working as intended then and the series has all
required Acks. I'd suggest that we take it as-is then (either now if
you're still picking things up before the merge window or after -rc1 is
out otherwise) since it only adds support for M1 and later and those
have all subdevices added here.
Once Nick adds support for pre-M1 SMC we can do one of those three
things to disable the reboot sub-device then.
Best,
Sven
Powered by blists - more mailing lists