1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef __REBOOT_MODE_H__ 3 #define __REBOOT_MODE_H__ 4 5 struct reboot_mode_driver { 6 struct device *dev; 7 struct list_head head; 8 int (*write)(struct reboot_mode_driver *reboot, unsigned int magic); 9 int (*read)(struct reboot_mode_driver *reboot); 10 struct notifier_block reboot_notifier; 11 struct notifier_block pre_restart_notifier; 12 struct notifier_block panic_notifier; 13 }; 14 15 int reboot_mode_register(struct reboot_mode_driver *reboot); 16 int reboot_mode_unregister(struct reboot_mode_driver *reboot); 17 int devm_reboot_mode_register(struct device *dev, 18 struct reboot_mode_driver *reboot); 19 void devm_reboot_mode_unregister(struct device *dev, 20 struct reboot_mode_driver *reboot); 21 22 #endif 23