This driver can also be built as a module. If so, the module
will be called tps6594-pfsm.
-config TIZEN_INFORM_REBOOT
- bool "Tizen reboot parameter passing support"
- default "n"
- help
- This enables support for passing reboot parameter through inform
- partition. It is required to determine booting mode (e.g., fota or
- normal). After passing reboot parameter, u-boot checks the contents
- of inform file and then determines proper booting mode.
-
-config TIZEN_INFORM_PATH
- depends on TIZEN_INFORM_REBOOT
- string "Absolute path of inform file for passing reboot parameter"
- help
- This option determines the absolute path of inform file for passing
- reboot parameter.
-
source "drivers/misc/c2port/Kconfig"
source "drivers/misc/eeprom/Kconfig"
source "drivers/misc/cb710/Kconfig"
+++ /dev/null
-/*
- * Tizen reboot parameter passing notifier
- *
- * Written by: Junghoon Kim <jhoon20.kim@samsung.com>
- *
- * Copyright (C) 2017 Samsung Electronics Co., Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- */
-
-#include <linux/notifier.h>
-#include <linux/reboot.h>
-#include <linux/syscalls.h>
-#include <linux/file.h>
-#include <linux/fcntl.h>
-#include <linux/uaccess.h>
-
-static int inform_reboot_notifier(struct notifier_block *nb,
- unsigned long val, void *buf)
-{
- char *cmd = buf;
- char *filename = CONFIG_TIZEN_INFORM_PATH;
- struct file *file;
- loff_t pos = 0;
-
- file = filp_open(filename, O_CREAT | O_WRONLY | O_TRUNC, 0644);
- if (!IS_ERR(file)) {
- struct super_block *sb = file->f_path.dentry->d_sb;
-
- if (cmd) {
- if (!strncmp(cmd, "fota", 4))
- cmd = "upgr";
- else if (!strncmp(cmd, "recovery", 8))
- cmd = "rcvr";
- else if (!strncmp(cmd, "download", 8))
- cmd = "dwnl";
- else
- cmd = "ndef";
- } else
- cmd = "norm";
-
- kernel_write(file, cmd, strlen(cmd), &pos);
-
- down_read(&sb->s_umount);
- sync_filesystem(sb);
- up_read(&sb->s_umount);
-
- fput(file);
- } else {
- pr_err("Reboot parameter passing is failed.\n"
- "Inform file path should be described correctly in config.\n");
- }
-
- return NOTIFY_DONE;
-}
-
-static struct notifier_block nb_inform_reboot_block = {
- .notifier_call = inform_reboot_notifier,
- .priority = 256,
-};
-
-static int __init inform_reboot_init(void)
-{
- /* to support reboot parameter passing */
- register_reboot_notifier(&nb_inform_reboot_block);
- return 0;
-}
-
-subsys_initcall(inform_reboot_init);