android_kernel_oneplus_msm8998/drivers/power/reset/reboot-mode.h
Andy Yan 56f1cc5f65 power: reset: add reboot mode driver
This driver parses the reboot commands like "reboot bootloader"
and "reboot recovery" to get a boot mode described in the
device tree , then call the write interfae to store the boot
mode in some place like special register or sram, which can
be read by the bootloader after system reboot, then the bootloader
can take different action according to the mode stored.

This is commonly used on Android based devices, in order to
reboot the device into fastboot or recovery mode.

Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
Reviewed-by: Moritz Fischer <moritz.fischer@ettus.com>
Tested-by: John Stultz <john.stultz@linaro.org>
Acked-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
Git-commit: 4fcd504edbf7c793325511c2df8dcd083958e28a
Git-repo: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/

Change-Id: Id65f6b9186e7a5209542a380bae31a1d8933b931
Signed-off-by: Wufeng.jiang <wufeng.jiang@codeaurora.org>
Signed-off-by: Xiaogang Cui <xiaogang@codeaurora.org>
2016-10-27 22:46:42 -07:00

14 lines
372 B
C

#ifndef __REBOOT_MODE_H__
#define __REBOOT_MODE_H__
struct reboot_mode_driver {
struct device *dev;
struct list_head head;
int (*write)(struct reboot_mode_driver *reboot, unsigned int magic);
struct notifier_block reboot_notifier;
};
int reboot_mode_register(struct reboot_mode_driver *reboot);
int reboot_mode_unregister(struct reboot_mode_driver *reboot);
#endif