mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-14 08:57:58 +00:00
43 lines
1,001 B
Bash
43 lines
1,001 B
Bash
|
#!/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
|