#!/bin/sh # Copyright 2021 Google LLC # Written by Simon Glass # # 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 # # 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 " 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