Re: [PATCH v12 0/8] Implement vendor resets for PSCI SYSTEM_RESET2

Arnd Bergmann
2025-07-24T14:44:11Z

On Thu, Jul 24, 2025, at 16:04, Shivendra Pratap wrote:
> On 7/24/2025 6:18 PM, Krzysztof Kozlowski wrote:
>> On 24/07/2025 14:24, Shivendra Pratap wrote:

>> I strongly insist using compatible as way to find your device, not node
>> names.
> It will look better to switch to compatible. Will define a compatible for
> psci reboot-mode binding and align the patch to use the compatible for sysfs.
> Current patch defines reboot-mode as a property to psci, hope its fine to
> define a compatible for this property like "psci-vendor-reset" or
> "psci-reboot-modes"?
>

How about using the reboot driver name as the identifier in sysfs
instead of the compatible string? That would make it independent of
devicetree.

I had a related idea to provide some namespacing on the actual
reboot syscall parameter, as we have two (or more) orthogonal
concepts here, when there is more than one reboot driver and
drivers support multiple modes.

E.g. you could use

syscall(__NR_reboot, LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2,
LINUX_REBOOT_CMD_RESTART2, "watchdog");

vs

syscall(__NR_reboot, LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2,
LINUX_REBOOT_CMD_RESTART2, "psci");

to pick one of the drivers, or

syscall(__NR_reboot, LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2,
LINUX_REBOOT_CMD_RESTART2, "bootloader");

syscall(__NR_reboot, LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2,
LINUX_REBOOT_CMD_RESTART2, "recovery");

to ask for a reboot from any driver that supports a mode, or
combine the two and ask a specific mode in a specific driver like

syscall(__NR_reboot, LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2,
LINUX_REBOOT_CMD_RESTART2, "psci:bootloader");

Arnd