summaryrefslogtreecommitdiff
path: root/script
diff options
context:
space:
mode:
authorLeah Rowe <leah@libreboot.org>2023-09-27 15:01:49 +0100
committerLeah Rowe <leah@libreboot.org>2023-09-27 15:01:49 +0100
commit6b17cda1371002a499e7e6c0f5bc67fac4b4a345 (patch)
treefcf2637b57f4b05c0941ed8d8c5c9e1a6dbe65f7 /script
parentb5628131ba74e9da739f89ceb97ff2fa69010adb (diff)
blobs/download: simplify defconfig handling
use the variable names directly, as defined in defconfig. do not hardcode the if/else chain in detect_firmware, use eval instead. Signed-off-by: Leah Rowe <leah@libreboot.org>
Diffstat (limited to 'script')
-rwxr-xr-xscript/update/blobs/download47
1 files changed, 17 insertions, 30 deletions
diff --git a/script/update/blobs/download b/script/update/blobs/download
index 3674bfb7..cf11e456 100755
--- a/script/update/blobs/download
+++ b/script/update/blobs/download
@@ -17,7 +17,7 @@ main()
boarddir="${cbcfgsdir}/${board}"
check_defconfig "${boarddir}" || exit 0
- detect_firmware || exit 0
+ detect_firmware && exit 0
scan_sources_config
build_dependencies
@@ -29,18 +29,12 @@ detect_firmware()
set -- "${boarddir}/config/"*
. "${1}" 2>/dev/null
- [ "${CONFIG_HAVE_MRC}" = "y" ] && needs="${needs} MRC"
- [ "${CONFIG_HAVE_ME_BIN}" = "y" ] && needs="${needs} ME"
- [ "${CONFIG_KBC1126_FIRMWARE}" = "y" ] && needs="${needs} EC"
- [ "${CONFIG_BOARD_DELL_E6400}" = "y" ] && \
- [ "${CONFIG_VGA_BIOS_FILE}" != "" ] && needs="${needs} E6400VGA"
- [ "${CONFIG_INCLUDE_SMSC_SCH5545_EC_FW}" = "y" ] && \
- needs="${needs} SCH5545EC"
- [ -z ${needs+x} ] && \
- printf "No binary blobs needed for board: %s\n" "${board}" \
- 1>&2 && \
- return 1
- printf "Firmware needed for board '%s':\n%s\n" "${board}" "${needs}"
+ for c in CONFIG_HAVE_MRC CONFIG_HAVE_ME_BIN CONFIG_KBC1126_FIRMWARE \
+ CONFIG_VGA_BIOS_FILE CONFIG_INCLUDE_SMSC_SCH5545_EC_FW; do
+ eval "[ -z \"\${${c}}\" ] || return 1"
+ done
+
+ printf "Blobs not needed for: %s\n" "${board}" 1>&2
}
scan_sources_config()
@@ -121,23 +115,16 @@ build_dependencies()
download_blobs()
{
- for need in ${needs}; do
- case ${need} in
- *ME*)
- download_blob_intel_me || _failed="${_failed} me" ;;
- *SCH5545EC*)
- download_sch5545ec || failed="${_failed} sch5545ec" ;;
- *EC*)
- download_ec || _failed="${_failed} ec" ;;
- *E6400VGA*)
- download_e6400vga || _failed="${_failed} e6400vga" ;;
- *MRC*)
- ./update blobs mrc || _failed="${_failed} mrc" ;;
- esac
- done
-
- if [ ! -z ${_failed+x} ]; then
- err "download_blobs: can't download blobs: ${_failed}\n"
+ [ -z "${CONFIG_HAVE_ME_BIN}" ] || \
+ download_blob_intel_me || err "download_blobs ${board}: !me"
+ [ -z "${CONFIG_INCLUDE_SMSC_SCH5545_EC_FW}" ] || \
+ download_sch5545ec || err "download_blobs ${board}: !sch5545"
+ [ -z "${CONFIG_KBC1126_FIRMWARE}" ] || \
+ download_ec || err "download_blobs ${board}: kbc1126"
+ [ -z "${CONFIG_VGA_BIOS_FILE}" ] || \
+ download_e6400vga || err "download_blobs ${board}: !e6400vga"
+ if [ ! -z "${CONFIG_HAVE_MRC}" ]; then
+ ./update blobs mrc || err "download_blobs ${board}: !mrc"
fi
}