static int sec_reboot_notifier(struct notifier_block *nb,
unsigned long l, void *buf)
{
- unsigned long value;
char *cmd = buf;
if (!cmd) {
writel(REBOOT_MODE_PREFIX | REBOOT_MODE_NONE, (void __iomem *)SPRD_INFORM3);
} else {
- if (!strcmp(cmd, "fota"))
- writel(REBOOT_MODE_PREFIX | REBOOT_MODE_FOTA,
- (void __iomem *)SPRD_INFORM3);
- else if (!strcmp(cmd, "fota_bl"))
- writel(REBOOT_MODE_PREFIX | REBOOT_MODE_FOTA_BL,
- (void __iomem *)SPRD_INFORM3);
- else if (!strcmp(cmd, "recovery"))
- writel(REBOOT_MODE_PREFIX | REBOOT_MODE_RECOVERY,
- (void __iomem *)SPRD_INFORM3);
- else if (!strcmp(cmd, "download"))
+ if (!strcmp(cmd, "download"))
writel(REBOOT_MODE_PREFIX | REBOOT_MODE_DOWNLOAD,
(void __iomem *)SPRD_INFORM3);
- else if (!strcmp(cmd, "upload"))
- writel(REBOOT_MODE_PREFIX | REBOOT_MODE_UPLOAD,
- (void __iomem *)SPRD_INFORM3);
else if (!strcmp(cmd, "silent"))
writel(REBOOT_MODE_PREFIX | REBOOT_MODE_SILENT,
(void __iomem *)SPRD_INFORM3);
- else if (!strncmp(cmd, "debug", 5)
- && !kstrtoul(cmd + 5, 0, &value))
- writel(REBOOT_SET_PREFIX | REBOOT_SET_DEBUG | value,
- (void __iomem *)SPRD_INFORM3);
- else if (!strncmp(cmd, "swsel", 5)
- && !kstrtoul(cmd + 5, 0, &value))
- writel(REBOOT_SET_PREFIX | REBOOT_SET_SWSEL | value,
- (void __iomem *)SPRD_INFORM3);
- else if (!strncmp(cmd, "sud", 3)
- && !kstrtoul(cmd + 3, 0, &value))
- writel(REBOOT_SET_PREFIX | REBOOT_SET_SUD | value,
- (void __iomem *)SPRD_INFORM3);
else
writel(REBOOT_MODE_PREFIX | REBOOT_MODE_NONE,
(void __iomem *)SPRD_INFORM3);