[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <virjbkkpdmufx2midadzwiml4boyuxtokikcvupswapwehnv65@d2ppyiaeti22>
Date: Mon, 17 Nov 2025 14:48:15 -0600
From: Bjorn Andersson <andersson@...nel.org>
To: Dmitry Baryshkov <dmitry.baryshkov@....qualcomm.com>
Cc: Shivendra Pratap <shivendra.pratap@....qualcomm.com>,
Sebastian Reichel <sre@...nel.org>, Bartosz Golaszewski <bartosz.golaszewski@...aro.org>,
linux-kernel@...r.kernel.org, linux-arm-msm@...r.kernel.org, linux-pm@...r.kernel.org,
Sebastian Reichel <sebastian.reichel@...labora.com>
Subject: Re: [PATCH 1/2] Documentation: ABI: Add
sysfs-class-reboot-mode-reboot_modes
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@...labora.com>
> > Signed-off-by: Shivendra Pratap <shivendra.pratap@....qualcomm.com>
> > ---
> > .../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@...r.kernel.org
> > + 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
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.
Regards,
Bjorn
> > +
> > + A driver can expose the supported arguments by
> > + registering them with the reboot-mode framework
> > + using the property names that follow the
> > + mode-<argument> format.
> > + Example:
> > + mode-bootloader, mode-recovery.
> > +
> > + This attribute is useful for scripts or initramfs
> > + logic that need to programmatically determine
> > + which reboot-mode arguments are valid before
> > + triggering a reboot.
> >
> > --
> > 2.34.1
> >
>
> --
> With best wishes
> Dmitry
Powered by blists - more mailing lists