summaryrefslogtreecommitdiffstats
path: root/include/bootretry.h
diff options
context:
space:
mode:
authorAlbert ARIBAUD <albert.u.boot@aribaud.net>2014-06-25 10:39:58 +0200
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>2014-06-25 10:39:58 +0200
commited1d98d801dfb6384d0f2fff45ce1ebf884944ca (patch)
tree5a9487c67b75606d3a723b7acb9eda8da200c871 /include/bootretry.h
parent754466ac95e92ebf40e25c6af6f13ab9b4d7c87b (diff)
parentba9b42c81b0734d53edfbb1fe4a6ded7de78c5ab (diff)
downloadu-boot-ed1d98d801dfb6384d0f2fff45ce1ebf884944ca.tar.gz
u-boot-ed1d98d801dfb6384d0f2fff45ce1ebf884944ca.tar.xz
u-boot-ed1d98d801dfb6384d0f2fff45ce1ebf884944ca.zip
Merge branch 'u-boot/master' into 'u-boot-arm/master'
Diffstat (limited to 'include/bootretry.h')
-rw-r--r--include/bootretry.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/include/bootretry.h b/include/bootretry.h
new file mode 100644
index 0000000000..2ecd7a48b0
--- /dev/null
+++ b/include/bootretry.h
@@ -0,0 +1,59 @@
+/*
+ * (C) Copyright 2000
+ * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#ifndef __BOOTRETRY_H
+#define __BOOTRETRY_H
+
+#ifdef CONFIG_BOOT_RETRY_TIME
+/**
+ * bootretry_tstc_timeout() - ensure we get a keypress before timeout
+ *
+ * Check for a keypress repeatedly, resetting the watchdog each time. If a
+ * keypress is not received within the command timeout, return an error.
+ *
+ * @return 0 if a key is received in time, -ETIMEDOUT if not
+ */
+int bootretry_tstc_timeout(void);
+
+/**
+ * bootretry_init_cmd_timeout() - set up command timeout
+ *
+ * Get the required command timeout from the environment.
+ */
+void bootretry_init_cmd_timeout(void);
+
+/**
+ * bootretry_reset_cmd_timeout() - reset command timeout
+ *
+ * Reset the command timeout so that the user has a fresh start. This is
+ * typically used when input is received from the user.
+ */
+void bootretry_reset_cmd_timeout(void);
+
+/** bootretry_dont_retry() - Indicate that we should not retry the boot */
+void bootretry_dont_retry(void);
+#else
+static inline int bootretry_tstc_timeout(void)
+{
+ return 0;
+}
+
+static inline void bootretry_init_cmd_timeout(void)
+{
+}
+
+static inline void bootretry_reset_cmd_timeout(void)
+{
+}
+
+static inline void bootretry_dont_retry(void)
+{
+}
+
+#endif
+
+#endif