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