Re: [PATCH 1/2] Documentation: ABI: Add sysfs-class-reboot-mode-reboot_modes
From: Shivendra Pratap
Date: Tue Nov 18 2025 - 11:48:54 EST
On 11/18/2025 2:18 AM, Bjorn Andersson wrote:
> On Sun, Nov 16, 2025 at 07:44:24PM +0200, Dmitry Baryshkov wrote:
>> On Sun, Nov 16, 2025 at 08:49:47PM +0530, Shivendra Pratap wrote:
>>> Add ABI documentation for /sys/class/reboot-mode/*/reboot_modes, a
>>> read-only sysfs attribute exposing the list of supported reboot-mode
>>> arguments. This file is created by reboot-mode framework and provides a
>>> user-readable interface to query available reboot-mode arguments.
>>>
>>> Reviewed-by: Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxx>
>>> Signed-off-by: Shivendra Pratap <shivendra.pratap@xxxxxxxxxxxxxxxx>
>>> ---
>>> .../testing/sysfs-class-reboot-mode-reboot_modes | 39 ++++++++++++++++++++++
>>> 1 file changed, 39 insertions(+)
>>>
>>> diff --git a/Documentation/ABI/testing/sysfs-class-reboot-mode-reboot_modes b/Documentation/ABI/testing/sysfs-class-reboot-mode-reboot_modes
>>> new file mode 100644
>>> index 0000000000000000000000000000000000000000..28280ffe9bf962ef9d2136ea5d7c6aef77c4bd34
>>> --- /dev/null
>>> +++ b/Documentation/ABI/testing/sysfs-class-reboot-mode-reboot_modes
>>> @@ -0,0 +1,39 @@
>>> +What: /sys/class/reboot-mode/<driver>/reboot_modes
>>> +Date: November 2025
>>> +KernelVersion: 6.18.0-rc5
>>> +Contact: linux-pm@xxxxxxxxxxxxxxx
>>> + Description:
>>> + This interface exposes the reboot-mode arguments
>>> + registered with the reboot-mode framework. It is
>>> + a read-only interface and provides a space
>>> + separated list of reboot-mode arguments supported
>>> + on the current platform.
>>> + Example:
>>> + recovery fastboot bootloader
>>> +
>>> + The exact sysfs path may vary depending on the
>>> + name of the driver that registers the arguments.
>>> + Example:
>>> + /sys/class/reboot-mode/nvmem-reboot-mode/reboot_modes
>>> + /sys/class/reboot-mode/syscon-reboot-mode/reboot_modes
>>> + /sys/class/reboot-mode/qcom-pon/reboot_modes
>>
>> This part is obvious, isn't it?
>>
>>> +
>>> + The supported arguments can be used by userspace
>>> + to invoke device reset using the reboot() system
>>> + call, with the "argument" as string to "*arg"
>>> + parameter along with LINUX_REBOOT_CMD_RESTART2.
>>> + Example:
>>> + reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2,
>>> + LINUX_REBOOT_CMD_RESTART2, "bootloader");
>>
>> So, does one need to write a tool for invoking reboot with the corerct
>> set of args?
>
> Here's an implementation of such tool
> https://github.com/systemd/systemd/blob/main/src/shared/reboot-util.c#L80
Should i include this link for an example of existing tools or i just add
add a line saying that such tools are already available?
>
> Many other implementations of reboot provides the same.
>
>> If we are adding a sysfs interface, wouldn't it be logical
>> to also add another sysfs file, setting the argument?
>>
>
> The inclusion of the example indicates that we need to expose it in an
> accessible form, but I don't think we should, as it's already a
> widespread standard interface.
>
> As such, I don't think the example adds any value, but it would be
> valuable to clarify that this is a standard interface.
ok. Will remove this example of reboot syscall and add a line to
indicate that this is standard interface.
thanks,
Shivendra