[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