blob: f61f284b09c3da3b891f6cbdf70f49999115d624 [file] [log] [blame]
#!/bin/bash
# Scan the /lib/firmware directory of the target and delete any firmware
# binaries that are not in our whitelist
# A whitelist of entire directories or specific binary files. The trailing
# slash is required.
whitelist=( 'acenic/'
'bnx2/'
'bnx2x/bnx2x-e2-7.13.1.0.fw'
'cxgb4/t4fw-1.16.63.0.bin'
'cxgb4/t4fw.bin'
'cxgb3/'
'e100/'
'ql2500_fw.bin'
'radeon/CEDAR_rlc.bin'
'radeon/CEDAR_pfp.bin'
'radeon/CEDAR_smc.bin'
'radeon/CEDAR_me.bin'
'radeon/CYPRESS_uvd.bin')
if [ -z "${TARGET_DIR}" ] ; then
echo "TARGET_DIR not defined, setting to $1"
TARGET_DIR=$1
fi
files=$(find ${TARGET_DIR}/lib/firmware/*)
for file in ${files};
do
if [ -d $file ] ; then
continue
fi
found=0
for item in ${whitelist[@]};
do
if [ "${file/${item}}" != "${file}" ] ; then
found=1
break
fi
done
if [ "${found}" -ne "1" ] ; then
rm -v ${file}
fi
done