[PATCH v4 6/9] power: reset: macsmc-reboot: Add driver for rebooting via Apple SMC

Sven Peter sven at svenpeter.dev
Fri May 9 09:13:09 PDT 2025


thanks for the review!

On Fri, May 9, 2025, at 15:05, Alyssa Rosenzweig wrote:
>> +	for (i = 0; i < ARRAY_SIZE(ac_power_mode_map); i++)
>> +		if (mode == ac_power_mode_map[i])
>> +			len += scnprintf(buf+len, PAGE_SIZE-len,
>> +					 "[%s] ", ac_power_modes[i]);
>> +		else
>> +			len += scnprintf(buf+len, PAGE_SIZE-len,
>> +					 "%s ", ac_power_modes[i]);
>
> Nit: { braces } at least on the for loop...

Will fix that.

>
> (And might be more concise as
>
>     for (i = 0; i < ARRAY_SIZE(ac_power_mode_map); i++) {
>         bool match = (mode == ac_power_mode_map[i]);
>         len += scnprintf(buf+len, PAGE_SIZE-len,
>                  match ? "[%s] " : "%s ", ac_power_modes[i]);
>     }
>
> though IDK how people feel about it.)

imho it's less readable that way but I don't have a strong opinion
either way.

>
>> +		mdelay(100);
>> +		WARN_ON(1);
>
> ...What?

This is done in a few drivers in drivers/power/reboot. If we haven't
rebooted after 100ms something's wrong with SMC. I'll add a comment.

drivers/power/reset/tps65086-restart.c:	WARN_ON(1);
drivers/power/reset/atc260x-poweroff.c:	WARN_ONCE(1, "Unable to power off system\n");
drivers/power/reset/mt6323-poweroff.c:	WARN_ONCE(1, "Unable to power off system\n");
drivers/power/reset/gpio-restart.c:	WARN_ON(1);
drivers/power/reset/regulator-poweroff.c:	WARN_ON(1);



>
>> +	if (ret)
>> +		return dev_err_probe(&pdev->dev, ret,
>> +				     "Failed to register power-off handler\n");
>> +
>> +
>> +	ret = devm_register_sys_off_handler(&pdev->dev, SYS_OFF_MODE_RESTART_PREPARE,
>> +					    SYS_OFF_PRIO_HIGH, macsmc_prepare_atomic, reboot);
>
> Nit: squash double blank-line

will do.


thanks,


Sven



More information about the linux-arm-kernel mailing list