1 /* SPDX-License-Identifier: GPL-2.0+ */ 2 /* 3 * (C) Copyright 2000 4 * Wolfgang Denk, DENX Software Engineering, wd@denx.de. 5 */ 6 7 #ifndef __BOOTRETRY_H 8 #define __BOOTRETRY_H 9 10 #ifdef CONFIG_BOOT_RETRY_TIME 11 /** 12 * bootretry_tstc_timeout() - ensure we get a keypress before timeout 13 * 14 * Check for a keypress repeatedly, resetting the watchdog each time. If a 15 * keypress is not received within the command timeout, return an error. 16 * 17 * @return 0 if a key is received in time, -ETIMEDOUT if not 18 */ 19 int bootretry_tstc_timeout(void); 20 21 /** 22 * bootretry_init_cmd_timeout() - set up command timeout 23 * 24 * Get the required command timeout from the environment. 25 */ 26 void bootretry_init_cmd_timeout(void); 27 28 /** 29 * bootretry_reset_cmd_timeout() - reset command timeout 30 * 31 * Reset the command timeout so that the user has a fresh start. This is 32 * typically used when input is received from the user. 33 */ 34 void bootretry_reset_cmd_timeout(void); 35 36 /** bootretry_dont_retry() - Indicate that we should not retry the boot */ 37 void bootretry_dont_retry(void); 38 #else 39 static inline int bootretry_tstc_timeout(void) 40 { 41 return 0; 42 } 43 44 static inline void bootretry_init_cmd_timeout(void) 45 { 46 } 47 48 static inline void bootretry_reset_cmd_timeout(void) 49 { 50 } 51 52 static inline void bootretry_dont_retry(void) 53 { 54 } 55 56 #endif 57 58 #endif 59