* [PATCH v21 0/2] reboot-mode: Expose sysfs for registered reboot modes
@ 2025-12-22 3:33 Shivendra Pratap
2025-12-22 3:33 ` [PATCH v21 1/2] Documentation: ABI: Add sysfs-class-reboot-mode-reboot_modes Shivendra Pratap
2025-12-22 3:33 ` [PATCH v21 2/2] power: reset: reboot-mode: Expose sysfs for registered reboot_modes Shivendra Pratap
0 siblings, 2 replies; 5+ messages in thread
From: Shivendra Pratap @ 2025-12-22 3:33 UTC (permalink / raw)
To: Sebastian Reichel, Bartosz Golaszewski, Bjorn Andersson
Cc: linux-kernel, linux-arm-msm, linux-pm, Bartosz Golaszewski,
Shivendra Pratap, Bartosz Golaszewski, Sebastian Reichel
The reboot-mode framework provides infrastructure for drivers that want
to implement a userspace reboot command interface. However, there is
currently no standardized way for userspace to discover the list of
supported commands at runtime. This series introduces a sysfs interface
in the reboot-mode framework to expose the list of supported reboot-mode
commands to userspace. This will enable userspace tools to query
available reboot modes using the sysfs interface.
Example:
cat /sys/class/reboot-mode/<driver-name>/reboot_modes
The series consists of two patches:
1. power: reset: reboot-mode: Expose sysfs for registered reboot_modes
2. Documentation: ABI: Add sysfs-class-reboot-mode-reboot_modes
These patches were previously being reviewed as part of “vendor resets
for PSCI SYSTEM_RESET2”, until v17. Following the suggestions from
Bjorn, the reboot-mode sysfs patches have been split into a separate
series here, for focused discussions and better alignment.
Previous discussion on these patches:
https://lore.kernel.org/all/20251109-arm-psci-system_reset2-vendor-reboots-v17-5-46e085bca4cc@oss.qualcomm.com/
https://lore.kernel.org/all/20251109-arm-psci-system_reset2-vendor-reboots-v17-4-46e085bca4cc@oss.qualcomm.com/
Signed-off-by: Shivendra Pratap <shivendra.pratap@oss.qualcomm.com>
Changes in v21:
By Bart/ Bjorn:
- Convert “reboot_mode_device” to a pointer and use device_create
instead of register_device.
- Return an error from reboot_mode_register, if device creation fails.
By Bart:
- Use dev_get_drvdata to retrieve mode strings in reboot_modes_show.
- Add mutex lock on list_add_tail in reboot_mode_register. This will
synchronize addition of modes with sysfs access. This was omitted in
previous patch as list additions was completed before sysfs creation.
For Alignment:
- Remove: "#define pr_fmt(fmt)" – not needed.
- Remove: Functions reboot_mode_register_device and reboot_mode_device_release.
- device_create being a single call now, moved inline.
- device_create handles device_release internally.
- Directly call reboot_mode_unregister in “error” path of reboot_mode_register.
- In reboot_mode_unregister:
- Add a NULL check for "reboot_mode_device" pointer.
- Move device_unregister towards end of function call and explicitly set
reboot_mode_device as NULL.
- Link to v20: https://lore.kernel.org/r/20251130-next-15nov_expose_sysfs-v20-0-18c80f8248dd@oss.qualcomm.com
Changes in v20:
By Bart
- Use device_is_registered() instead of maintaining an explicit variable
for status of device_register.
- class_unregister already maintains an internal check; remove explicit
check on status of class_register.
- Protect the reboot_mode_list with mutex lock in reboot_modes_show.
- Remove explicit "#ifdef MODULE"; subsys_initcall is just fine.
For Alignment
- Move reboot_mode_register_device after the reboot_mode list additions
are completed in reboot_mode_register. This also avoids explicit
device_unregister in error paths and need for a lock in addition.
- reboot-mode list protected in reboot_mode_unregister against a lock
in reboot_modes_show.
- Unregister reboot_mode_device before deleting the list in
reboot_mode_unregister.
- Although, we want to continue irrespective of the status of reboot_mode
device_register, add a check and pr_debug to avoid compiler warning.
- Link to v19: https://lore.kernel.org/r/20251122-next-15nov_expose_sysfs-v19-0-4d3d578ad9ee@oss.qualcomm.com
Changes in v19:
By Bart
- Added subsys_initcall and moved class_register to initcall.
By Bjorn
- Remove example of reboot SYSCALL from ABI documentation and mention
about this being standard interface.
For Alignment
- Added module_init/module_exit, in case reboot-mode is compiled as module.
- Call class_unregister on module_exit.
- Remove mutex lock on class_register as its not needed now.
- Added a static bool reboot_mode_class_registered, to save the status of
class registration.
- Rename reboot_mode_create_device to reboot_mode_register_device.
- Removed class_register as its moved to initcall.
- Version correction for split series: Previous changed to v18.
- Corrected Typo in Bjorn's Name in last change history.
- Link to v18: https://lore.kernel.org/r/20251116-next-15nov_expose_sysfs-v1-0-3b7880e5b40e@oss.qualcomm.com
- *v18 was sent as v1 in last post.
Changes in v18:
By Bjorn
- class is made static const and moved on the stack and registered
using class_register.
- Renamed name of class variable from rb_class to reboot_mode_class –
Bart/ Bjorn
- Renamed function name to prefix reboot_mode* to better align naming
convention in reboot-mode.
- Changed reboot_mode_device as static in reboot struct and registered
using device_register.
- Used dev_groups, instead of creating the sysfs attr file manually.
- Continued the reboot-mode registration even if the sysfs creation
fails at reboot_mode_create_device.
- Used container of dev in show_reboot_modes to get the structure
pointer of reboot.
By Bart
-Synchronize class registration, as there may be race in this lazy
class_register.
-Remove inversion kind of logic and align the return path of
show_reboot_modes
Other changes
- reboot_dev is renamed to reboot_mode_device to align the naming
conventions.
- Keep a check on status of device_register with bool flag as
device_unregister should be called only if the registration was
successful.
- Add a dummy function reboot_mode_device_release to avoid warn in
driver unload path.
- Date and version change in ABI documentation.
Link to v17:
https://lore.kernel.org/all/20251109-arm-psci-system_reset2-vendor-reboots-v17-0-46e085bca4cc@oss.qualcomm.com
---
To: Sebastian Reichel <sre@kernel.org>
Cc: linux-kernel@vger.kernel.org
Cc: linux-pm@vger.kernel.org
---
Shivendra Pratap (2):
Documentation: ABI: Add sysfs-class-reboot-mode-reboot_modes
power: reset: reboot-mode: Expose sysfs for registered reboot_modes
.../testing/sysfs-class-reboot-mode-reboot_modes | 36 +++++++++++
drivers/power/reset/reboot-mode.c | 75 ++++++++++++++++++++--
include/linux/reboot-mode.h | 6 ++
3 files changed, 111 insertions(+), 6 deletions(-)
---
base-commit: cc3aa43b44bdb43dfbac0fcb51c56594a11338a8
change-id: 20251116-next-15nov_expose_sysfs-c0dbcf0d59da
Best regards,
--
Shivendra Pratap <shivendra.pratap@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 5+ messages in thread* [PATCH v21 1/2] Documentation: ABI: Add sysfs-class-reboot-mode-reboot_modes 2025-12-22 3:33 [PATCH v21 0/2] reboot-mode: Expose sysfs for registered reboot modes Shivendra Pratap @ 2025-12-22 3:33 ` Shivendra Pratap 2025-12-22 3:33 ` [PATCH v21 2/2] power: reset: reboot-mode: Expose sysfs for registered reboot_modes Shivendra Pratap 1 sibling, 0 replies; 5+ messages in thread From: Shivendra Pratap @ 2025-12-22 3:33 UTC (permalink / raw) To: Sebastian Reichel, Bartosz Golaszewski, Bjorn Andersson Cc: linux-kernel, linux-arm-msm, linux-pm, Bartosz Golaszewski, Shivendra Pratap, Bartosz Golaszewski, Sebastian Reichel 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: Bartosz Golaszewski <brgl@kernel.org> Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com> Signed-off-by: Shivendra Pratap <shivendra.pratap@oss.qualcomm.com> --- .../testing/sysfs-class-reboot-mode-reboot_modes | 36 ++++++++++++++++++++++ 1 file changed, 36 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..dc27cb4e698eebc99e72821225e8bf3bbe7cc7e6 --- /dev/null +++ b/Documentation/ABI/testing/sysfs-class-reboot-mode-reboot_modes @@ -0,0 +1,36 @@ +What: /sys/class/reboot-mode/<driver>/reboot_modes +Date: December 2025 +KernelVersion: 6.19-rc1 +Contact: linux-pm@vger.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 + + The supported arguments can be used by userspace to + invoke device reset using the standard reboot() system + call interface, with the "argument" as string to "*arg" + parameter along with LINUX_REBOOT_CMD_RESTART2. + + 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 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v21 2/2] power: reset: reboot-mode: Expose sysfs for registered reboot_modes 2025-12-22 3:33 [PATCH v21 0/2] reboot-mode: Expose sysfs for registered reboot modes Shivendra Pratap 2025-12-22 3:33 ` [PATCH v21 1/2] Documentation: ABI: Add sysfs-class-reboot-mode-reboot_modes Shivendra Pratap @ 2025-12-22 3:33 ` Shivendra Pratap 2025-12-22 17:26 ` Bartosz Golaszewski 1 sibling, 1 reply; 5+ messages in thread From: Shivendra Pratap @ 2025-12-22 3:33 UTC (permalink / raw) To: Sebastian Reichel, Bartosz Golaszewski, Bjorn Andersson Cc: linux-kernel, linux-arm-msm, linux-pm, Bartosz Golaszewski, Shivendra Pratap Currently, there is no standardized mechanism for userspace to discover which reboot-modes are supported on a given platform. This limitation forces tools and scripts to rely on hardcoded assumptions about the supported reboot-modes. Create a class 'reboot-mode' and a device under it to expose a sysfs interface to show the available reboot mode arguments to userspace. Use the driver_name field of the struct reboot_mode_driver to create the device. For device-based drivers, configure the device driver name as driver_name. This results in the creation of: /sys/class/reboot-mode/<driver>/reboot_modes This read-only sysfs file will exposes the list of supported reboot modes arguments provided by the driver, enabling userspace to query the list of arguments. Signed-off-by: Shivendra Pratap <shivendra.pratap@oss.qualcomm.com> --- drivers/power/reset/reboot-mode.c | 75 +++++++++++++++++++++++++++++++++++---- include/linux/reboot-mode.h | 6 ++++ 2 files changed, 75 insertions(+), 6 deletions(-) diff --git a/drivers/power/reset/reboot-mode.c b/drivers/power/reset/reboot-mode.c index fba53f638da04655e756b5f8b7d2d666d1379535..28d1fe09d685a7422027fafc9d6a3db97a6aca18 100644 --- a/drivers/power/reset/reboot-mode.c +++ b/drivers/power/reset/reboot-mode.c @@ -19,6 +19,39 @@ struct mode_info { struct list_head list; }; +static ssize_t reboot_modes_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + struct reboot_mode_driver *reboot; + struct mode_info *info; + ssize_t size = 0; + + reboot = dev_get_drvdata(dev); + if (!reboot) + return -ENODATA; + + scoped_guard(mutex, &reboot->reboot_mode_mutex) { + list_for_each_entry(info, &reboot->head, list) + size += sysfs_emit_at(buf, size, "%s ", info->mode); + } + + if (!size) + return -ENODATA; + + return size + sysfs_emit_at(buf, size - 1, "\n"); +} +static DEVICE_ATTR_RO(reboot_modes); + +static struct attribute *reboot_mode_attrs[] = { + &dev_attr_reboot_modes.attr, + NULL, +}; +ATTRIBUTE_GROUPS(reboot_mode); + +static const struct class reboot_mode_class = { + .name = "reboot-mode", + .dev_groups = reboot_mode_groups, +}; + static unsigned int get_reboot_mode_magic(struct reboot_mode_driver *reboot, const char *cmd) { @@ -76,6 +109,15 @@ int reboot_mode_register(struct reboot_mode_driver *reboot) size_t len = strlen(PREFIX); int ret; + reboot->reboot_mode_device = device_create(&reboot_mode_class, NULL, 0, + (void *)reboot, reboot->driver_name); + if (IS_ERR(reboot->reboot_mode_device)) { + ret = PTR_ERR(reboot->reboot_mode_device); + reboot->reboot_mode_device = NULL; + return ret; + } + + mutex_init(&reboot->reboot_mode_mutex); INIT_LIST_HEAD(&reboot->head); for_each_property_of_node(np, prop) { @@ -107,7 +149,9 @@ int reboot_mode_register(struct reboot_mode_driver *reboot) goto error; } - list_add_tail(&info->list, &reboot->head); + scoped_guard(mutex, &reboot->reboot_mode_mutex) { + list_add_tail(&info->list, &reboot->head); + } } reboot->reboot_notifier.notifier_call = reboot_mode_notify; @@ -116,9 +160,7 @@ int reboot_mode_register(struct reboot_mode_driver *reboot) return 0; error: - list_for_each_entry(info, &reboot->head, list) - kfree_const(info->mode); - + reboot_mode_unregister(reboot); return ret; } EXPORT_SYMBOL_GPL(reboot_mode_register); @@ -131,10 +173,17 @@ int reboot_mode_unregister(struct reboot_mode_driver *reboot) { struct mode_info *info; + if (!reboot->reboot_mode_device) + return -ENODEV; + unregister_reboot_notifier(&reboot->reboot_notifier); - list_for_each_entry(info, &reboot->head, list) - kfree_const(info->mode); + scoped_guard(mutex, &reboot->reboot_mode_mutex) { + list_for_each_entry(info, &reboot->head, list) + kfree_const(info->mode); + } + device_unregister(reboot->reboot_mode_device); + reboot->reboot_mode_device = NULL; return 0; } @@ -162,6 +211,7 @@ int devm_reboot_mode_register(struct device *dev, if (!dr) return -ENOMEM; + reboot->driver_name = reboot->dev->driver->name; rc = reboot_mode_register(reboot); if (rc) { devres_free(dr); @@ -199,6 +249,19 @@ void devm_reboot_mode_unregister(struct device *dev, } EXPORT_SYMBOL_GPL(devm_reboot_mode_unregister); +static int __init reboot_mode_init(void) +{ + return class_register(&reboot_mode_class); +} + +static void __exit reboot_mode_exit(void) +{ + class_unregister(&reboot_mode_class); +} + +subsys_initcall(reboot_mode_init); +module_exit(reboot_mode_exit); + MODULE_AUTHOR("Andy Yan <andy.yan@rock-chips.com>"); MODULE_DESCRIPTION("System reboot mode core library"); MODULE_LICENSE("GPL v2"); diff --git a/include/linux/reboot-mode.h b/include/linux/reboot-mode.h index 4a2abb38d1d612ec0fdf05eb18c98b210f631b7f..d7141a1a609b62bd3185642ecc1478fdd3555037 100644 --- a/include/linux/reboot-mode.h +++ b/include/linux/reboot-mode.h @@ -2,9 +2,15 @@ #ifndef __REBOOT_MODE_H__ #define __REBOOT_MODE_H__ +#include <linux/mutex.h> + struct reboot_mode_driver { struct device *dev; struct list_head head; + const char *driver_name; + struct device *reboot_mode_device; + /* protects reboot_mode list */ + struct mutex reboot_mode_mutex; int (*write)(struct reboot_mode_driver *reboot, unsigned int magic); struct notifier_block reboot_notifier; }; -- 2.34.1 ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v21 2/2] power: reset: reboot-mode: Expose sysfs for registered reboot_modes 2025-12-22 3:33 ` [PATCH v21 2/2] power: reset: reboot-mode: Expose sysfs for registered reboot_modes Shivendra Pratap @ 2025-12-22 17:26 ` Bartosz Golaszewski 2025-12-23 17:48 ` Shivendra Pratap 0 siblings, 1 reply; 5+ messages in thread From: Bartosz Golaszewski @ 2025-12-22 17:26 UTC (permalink / raw) To: Shivendra Pratap Cc: Sebastian Reichel, Bartosz Golaszewski, Bjorn Andersson, linux-kernel, linux-arm-msm, linux-pm On Mon, Dec 22, 2025 at 4:33 AM Shivendra Pratap <shivendra.pratap@oss.qualcomm.com> wrote: > > Currently, there is no standardized mechanism for userspace to discover > which reboot-modes are supported on a given platform. This limitation > forces tools and scripts to rely on hardcoded assumptions about the > supported reboot-modes. > > Create a class 'reboot-mode' and a device under it to expose a sysfs > interface to show the available reboot mode arguments to userspace. Use > the driver_name field of the struct reboot_mode_driver to create the > device. For device-based drivers, configure the device driver name as > driver_name. > > This results in the creation of: > /sys/class/reboot-mode/<driver>/reboot_modes > > This read-only sysfs file will exposes the list of supported reboot > modes arguments provided by the driver, enabling userspace to query the > list of arguments. > > Signed-off-by: Shivendra Pratap <shivendra.pratap@oss.qualcomm.com> > --- [snip] > + > static unsigned int get_reboot_mode_magic(struct reboot_mode_driver *reboot, > const char *cmd) > { > @@ -76,6 +109,15 @@ int reboot_mode_register(struct reboot_mode_driver *reboot) > size_t len = strlen(PREFIX); > int ret; > > + reboot->reboot_mode_device = device_create(&reboot_mode_class, NULL, 0, > + (void *)reboot, reboot->driver_name); You should define a separate struct in this file and pass it as drvdata as argument 4. The main reason for using device_create() was to not have to store any data associated with the sysfs ABI in a separate struct, not in the public one. > + if (IS_ERR(reboot->reboot_mode_device)) { > + ret = PTR_ERR(reboot->reboot_mode_device); > + reboot->reboot_mode_device = NULL; > + return ret; > + } > + > + mutex_init(&reboot->reboot_mode_mutex); Add a corresponding mutex_destroy() please. [snip] > + > MODULE_AUTHOR("Andy Yan <andy.yan@rock-chips.com>"); > MODULE_DESCRIPTION("System reboot mode core library"); > MODULE_LICENSE("GPL v2"); > diff --git a/include/linux/reboot-mode.h b/include/linux/reboot-mode.h > index 4a2abb38d1d612ec0fdf05eb18c98b210f631b7f..d7141a1a609b62bd3185642ecc1478fdd3555037 100644 > --- a/include/linux/reboot-mode.h > +++ b/include/linux/reboot-mode.h > @@ -2,9 +2,15 @@ > #ifndef __REBOOT_MODE_H__ > #define __REBOOT_MODE_H__ > > +#include <linux/mutex.h> > + > struct reboot_mode_driver { > struct device *dev; > struct list_head head; > + const char *driver_name; I have no idea why you're storing the name here. As I said above: you should not need to modify this structure (if maybe for the mutex if modifications of this struct from existing code can race with the sysfs code). Use a separate one for sysfs data. > + struct device *reboot_mode_device; I think you misunderstood my comment about the renaming: what I meant was: propose to rename the existing reboot_mode_driver structure to reboot_mode_device because this is what it is in reality. > + /* protects reboot_mode list */ > + struct mutex reboot_mode_mutex; > int (*write)(struct reboot_mode_driver *reboot, unsigned int magic); > struct notifier_block reboot_notifier; > }; > > -- > 2.34.1 > Bart ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v21 2/2] power: reset: reboot-mode: Expose sysfs for registered reboot_modes 2025-12-22 17:26 ` Bartosz Golaszewski @ 2025-12-23 17:48 ` Shivendra Pratap 0 siblings, 0 replies; 5+ messages in thread From: Shivendra Pratap @ 2025-12-23 17:48 UTC (permalink / raw) To: Bartosz Golaszewski Cc: Sebastian Reichel, Bartosz Golaszewski, Bjorn Andersson, linux-kernel, linux-arm-msm, linux-pm On 12/22/2025 10:56 PM, Bartosz Golaszewski wrote: > On Mon, Dec 22, 2025 at 4:33 AM Shivendra Pratap > <shivendra.pratap@oss.qualcomm.com> wrote: >> >> Currently, there is no standardized mechanism for userspace to discover >> which reboot-modes are supported on a given platform. This limitation >> forces tools and scripts to rely on hardcoded assumptions about the >> supported reboot-modes. >> >> Create a class 'reboot-mode' and a device under it to expose a sysfs >> interface to show the available reboot mode arguments to userspace. Use >> the driver_name field of the struct reboot_mode_driver to create the >> device. For device-based drivers, configure the device driver name as >> driver_name. >> >> This results in the creation of: >> /sys/class/reboot-mode/<driver>/reboot_modes >> >> This read-only sysfs file will exposes the list of supported reboot >> modes arguments provided by the driver, enabling userspace to query the >> list of arguments. >> >> Signed-off-by: Shivendra Pratap <shivendra.pratap@oss.qualcomm.com> >> --- > > [snip] > >> + >> static unsigned int get_reboot_mode_magic(struct reboot_mode_driver *reboot, >> const char *cmd) >> { >> @@ -76,6 +109,15 @@ int reboot_mode_register(struct reboot_mode_driver *reboot) >> size_t len = strlen(PREFIX); >> int ret; >> >> + reboot->reboot_mode_device = device_create(&reboot_mode_class, NULL, 0, >> + (void *)reboot, reboot->driver_name); > > You should define a separate struct in this file and pass it as > drvdata as argument 4. The main reason for using device_create() was > to not have to store any data associated with the sysfs ABI in a > separate struct, not in the public one. Currently we directly access list head in show_modes. We want to maintain a separate struct and copy the mode strings there after registration is complete and then set drvdata and the same in show_modes? > >> + if (IS_ERR(reboot->reboot_mode_device)) { >> + ret = PTR_ERR(reboot->reboot_mode_device); >> + reboot->reboot_mode_device = NULL; >> + return ret; >> + } >> + >> + mutex_init(&reboot->reboot_mode_mutex); > > Add a corresponding mutex_destroy() please. Ack. thanks. > > [snip] > >> + >> MODULE_AUTHOR("Andy Yan <andy.yan@rock-chips.com>"); >> MODULE_DESCRIPTION("System reboot mode core library"); >> MODULE_LICENSE("GPL v2"); >> diff --git a/include/linux/reboot-mode.h b/include/linux/reboot-mode.h >> index 4a2abb38d1d612ec0fdf05eb18c98b210f631b7f..d7141a1a609b62bd3185642ecc1478fdd3555037 100644 >> --- a/include/linux/reboot-mode.h >> +++ b/include/linux/reboot-mode.h >> @@ -2,9 +2,15 @@ >> #ifndef __REBOOT_MODE_H__ >> #define __REBOOT_MODE_H__ >> >> +#include <linux/mutex.h> >> + >> struct reboot_mode_driver { >> struct device *dev; >> struct list_head head; >> + const char *driver_name; > > I have no idea why you're storing the name here. > > As I said above: you should not need to modify this structure (if > maybe for the mutex if modifications of this struct from existing code > can race with the sysfs code). Use a separate one for sysfs data. > ok. If separate data for mode strings is maintained, may be we won't need a mutex lock as-well. >> + struct device *reboot_mode_device; > > I think you misunderstood my comment about the renaming: what I meant > was: propose to rename the existing reboot_mode_driver structure to > reboot_mode_device because this is what it is in reality. reboot_mode_device - this is not renamed. variable name is same as in previous version. thanks, Shivendra ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2025-12-23 17:48 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2025-12-22 3:33 [PATCH v21 0/2] reboot-mode: Expose sysfs for registered reboot modes Shivendra Pratap 2025-12-22 3:33 ` [PATCH v21 1/2] Documentation: ABI: Add sysfs-class-reboot-mode-reboot_modes Shivendra Pratap 2025-12-22 3:33 ` [PATCH v21 2/2] power: reset: reboot-mode: Expose sysfs for registered reboot_modes Shivendra Pratap 2025-12-22 17:26 ` Bartosz Golaszewski 2025-12-23 17:48 ` Shivendra Pratap
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®