]> git.ipfire.org Git - thirdparty/u-boot.git/blame - include/autoboot.h
Revert "Merge patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet""
[thirdparty/u-boot.git] / include / autoboot.h
CommitLineData
83d290c5 1/* SPDX-License-Identifier: GPL-2.0+ */
66ded17d
SG
2/*
3 * (C) Copyright 2000
4 * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
5 *
6 * Add to readline cmdline-editing by
7 * (C) Copyright 2005
8 * JinHua Luo, GuangDong Linux Center, <luo.jinhua@gd-linux.com>
66ded17d
SG
9 */
10
11#ifndef __AUTOBOOT_H
12#define __AUTOBOOT_H
13
cb897009
SG
14#include <stdbool.h>
15
16#ifdef CONFIG_SANDBOX
17
18/**
19 * autoboot_keyed() - check whether keyed autoboot should be used
20 *
21 * This is only implemented for sandbox since other platforms don't have a way
22 * of controlling the feature at runtime.
23 *
185f812c 24 * Return: true if enabled, false if not
cb897009
SG
25 */
26bool autoboot_keyed(void);
27
28/**
29 * autoboot_set_keyed() - set whether keyed autoboot should be used
30 *
31 * @autoboot_keyed: true to enable the feature, false to disable
185f812c 32 * Return: old value of the flag
cb897009
SG
33 */
34bool autoboot_set_keyed(bool autoboot_keyed);
35#else
36static inline bool autoboot_keyed(void)
37{
38 /* There is no runtime flag, so just use the CONFIG */
39 return IS_ENABLED(CONFIG_AUTOBOOT_KEYED);
40}
41
42static inline bool autoboot_set_keyed(bool autoboot_keyed)
43{
44 /* There is no runtime flag to set */
45 return false;
46}
47
48#endif
49
41598c82 50#ifdef CONFIG_AUTOBOOT
affb2156
SG
51/**
52 * bootdelay_process() - process the bootd delay
53 *
54 * Process the boot delay, boot limit, then get the value of either
55 * bootcmd, failbootcmd or altbootcmd depending on the current state.
56 * Return this command so it can be executed.
57 *
185f812c 58 * Return: command to executed
affb2156
SG
59 */
60const char *bootdelay_process(void);
61
62/**
63 * autoboot_command() - run the autoboot command
64 *
65 * If enabled, run the autoboot command returned from bootdelay_process().
8fc31e23 66 * Also do the CONFIG_AUTOBOOT_MENUKEY processing if enabled.
affb2156
SG
67 *
68 * @cmd: Command to run
69 */
70void autoboot_command(const char *cmd);
66ded17d 71#else
affb2156
SG
72static inline const char *bootdelay_process(void)
73{
74 return NULL;
75}
76
77static inline void autoboot_command(const char *s)
66ded17d
SG
78{
79}
80#endif
81
82#endif