xref: /linux-6.15/include/linux/reboot-mode.h (revision b2441318)
1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
2f1bea879SBjorn Andersson #ifndef __REBOOT_MODE_H__
3f1bea879SBjorn Andersson #define __REBOOT_MODE_H__
4f1bea879SBjorn Andersson 
5f1bea879SBjorn Andersson struct reboot_mode_driver {
6f1bea879SBjorn Andersson 	struct device *dev;
7f1bea879SBjorn Andersson 	struct list_head head;
8f1bea879SBjorn Andersson 	int (*write)(struct reboot_mode_driver *reboot, unsigned int magic);
9f1bea879SBjorn Andersson 	struct notifier_block reboot_notifier;
10f1bea879SBjorn Andersson };
11f1bea879SBjorn Andersson 
12f1bea879SBjorn Andersson int reboot_mode_register(struct reboot_mode_driver *reboot);
13f1bea879SBjorn Andersson int reboot_mode_unregister(struct reboot_mode_driver *reboot);
14f1bea879SBjorn Andersson int devm_reboot_mode_register(struct device *dev,
15f1bea879SBjorn Andersson 			      struct reboot_mode_driver *reboot);
16f1bea879SBjorn Andersson void devm_reboot_mode_unregister(struct device *dev,
17f1bea879SBjorn Andersson 				 struct reboot_mode_driver *reboot);
18f1bea879SBjorn Andersson 
19f1bea879SBjorn Andersson #endif
20