kernel-firmware: use project specific firmwares and cleanup

This commit is contained in:
MilhouseVH 2018-02-19 13:56:02 +00:00
parent 36c206f640
commit 3ef4fc924a
4 changed files with 40 additions and 6 deletions

View File

@ -24,6 +24,7 @@ PKG_LICENSE="other"
PKG_SITE="https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/"
PKG_URL="https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/snapshot/$PKG_VERSION.tar.gz"
PKG_SOURCE_DIR="$PKG_VERSION"
PKG_NEED_UNPACK="${PROJECT_DIR}/${PROJECT}/packages/${PKG_NAME} ${PROJECT_DIR}/${PROJECT}/devices/${DEVICE}/packages/${PKG_NAME}"
PKG_DEPENDS_TARGET="toolchain"
PKG_SECTION="linux-firmware"
PKG_SHORTDESC="kernel-firmware: kernel related firmware"
@ -34,9 +35,16 @@ PKG_TOOLCHAIN="manual"
makeinstall_target() {
FW_TARGET_DIR=$INSTALL/$(get_full_firmware_dir)
FW_LISTS="${PKG_DIR}/firmwares/any.dat ${PKG_DIR}/firmwares/${TARGET_ARCH}.dat"
FW_LISTS+=" ${PROJECT_DIR}/${PROJECT}/${PKG_NAME}/firmwares/any.dat"
[ -n "${DEVICE}" ] && FW_LISTS+=" ${PROJECT_DIR}/${PROJECT}/devices/${DEVICE}/${PKG_NAME}/firmwares/any.dat"
# Install all firmwares found in hierarchy
FW_LISTS=
for dir in ${PKG_DIR} \
${PROJECT_DIR}/${PROJECT}/packages/${PKG_NAME} \
${PROJECT_DIR}/${PROJECT}/devices/${DEVICE}/packages/${PKG_NAME} \
; do
for fmware in any.dat ${TARGET_ARCH}.dat; do
[ -f "${dir}/firmwares/${fmware}" ] && FW_LISTS+=" ${dir}/firmwares/${fmware}"
done
done
for fwlist in ${FW_LISTS}; do
[ -f ${fwlist} ] || continue
@ -59,7 +67,6 @@ makeinstall_target() {
done < ${fwlist}
done
# The following file is installed by brcmfmac_sdio-firmware-rpi
rm -fr $FW_TARGET_DIR/brcm/brcmfmac43430*-sdio.bin
rm -fr $FW_TARGET_DIR/brcm/brcmfmac43455*-sdio.bin
# Cleanup - which may be project or device specific
find_file_path scripts/cleanup.sh && ${FOUND_PATH} ${FW_TARGET_DIR} || true
}

View File

@ -1,3 +1,21 @@
#aarch64
htc_7010.fw
htc_9271.fw
ath3k-1.fw
ar5523.bin
carl9170-1.fw
mt7601u.bin
rt2870.bin
rt73.bin
vntwusb.fw
ath6k/AR6004/hw1.?/bdata.bin
ath9k_htc/*
brcm/*
rtl_bt/*_fw.bin
rtlwifi/*
ath10k/*
ctefx.bin
lbtf_usb.bin

View File

@ -0,0 +1,9 @@
#!/bin/bash
FW_TARGET_DIR=$1
# The following files will be installed by brcmfmac_sdio-firmware-rpi instead
rm -fr $FW_TARGET_DIR/brcm/brcmfmac43430*-sdio.bin
rm -fr $FW_TARGET_DIR/brcm/brcmfmac43455*-sdio.bin
exit 0