mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-18 10:48:51 +00:00
24f073d400
Boards which define OF_HAS_PRIOR_STAGE must define OF_BOARD at present, since a custom function is the only way to obtain the devicetree at runtime. Add a build error when this requirement is not met, to avoid accepting any patches which break this requirement. Add an allowlist for boards which use it, currently none. This allowlist can be updated for local development, if needed. Signed-off-by: Simon Glass <sjg@chromium.org> [trini: change of_whitelist to of_allowlist] Signed-off-by: Tom Rini <trini@konsulko.com>
42 lines
1,001 B
Bash
Executable file
42 lines
1,001 B
Bash
Executable file
#!/bin/sh
|
|
# Copyright 2021 Google LLC
|
|
# Written by Simon Glass <sjg@chromium.org>
|
|
#
|
|
# Check that the .config file provided does not try to disable OF_BOARD for
|
|
# boards that use CONFIG_OF_HAS_PRIOR_STAGE
|
|
#
|
|
# Usage
|
|
# check-of.sh <path to .config> <path to allowlist file>
|
|
#
|
|
# For example:
|
|
# scripts/check-of.sh b/chromebook_link/u-boot.cfg kconfig_allowlist.txt
|
|
#
|
|
# Exit code is 0 if OK, 3 if the .config is wrong, as above
|
|
|
|
set -e
|
|
set -u
|
|
|
|
PROG_NAME="${0##*/}"
|
|
|
|
usage() {
|
|
echo "$PROG_NAME <path to .config> <path to allowlist file>"
|
|
exit 1
|
|
}
|
|
|
|
[ $# -ge 2 ] || usage
|
|
|
|
path="$1"
|
|
allowlist="$2"
|
|
|
|
sys_config="$(sed -n 's/CONFIG_SYS_CONFIG_NAME="\(.*\)"$/\1/p' "${path}")"
|
|
|
|
if grep -q OF_HAS_PRIOR_STAGE=y "${path}"; then
|
|
if ! grep -lq CONFIG_OF_BOARD=y "${path}"; then
|
|
echo >&2 "This board uses a prior stage to provide the device tree."
|
|
echo >&2 "Please enable CONFIG_OF_BOARD to ensure that it works correctly."
|
|
if grep -q "${sys_config}" "${allowlist}"; then
|
|
exit 0
|
|
fi
|
|
exit 3
|
|
fi
|
|
fi
|