mirror of
https://github.com/freebsd/freebsd-src
synced 2024-10-15 12:54:27 +00:00
fwget: simplify adding firmware images to pkg to install
Rather than using echo to return the firmware package name, call a new function (addpkg) which will also deal with (i) no leading space and (ii) remove duplicates (as some devices have dual-wifi-cards). In addition we won't have a line break when having multiple packages. While here also do not call pkg(8) anymore if there is no package to install and use the correct variable to install all and not just the last found package. Reviewed by: manu, bapt Differential Revision: https://reviews.freebsd.org/D40071
This commit is contained in:
parent
ae1e336e05
commit
10aa369afd
|
@ -4,6 +4,7 @@
|
|||
# SPDX-License-Identifier: BSD-2-Clause
|
||||
#
|
||||
# Copyright 2023 Beckhoff Automation GmbH & Co. KG
|
||||
# Copyright 2023 Bjoern A. Zeeb
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted providing that the following conditions
|
||||
|
@ -62,6 +63,22 @@ log_verbose()
|
|||
echo $@ 1>&3
|
||||
}
|
||||
|
||||
addpkg()
|
||||
{
|
||||
local _p
|
||||
|
||||
_p=$1
|
||||
|
||||
case "${packages}" in
|
||||
"") packages="${_p}" ;;
|
||||
*) # Avoid duplicates.
|
||||
case " ${packages} " in
|
||||
*\ ${_p}\ *) ;; # duplicate
|
||||
*) packages="${packages} ${_p}" ;;
|
||||
esac
|
||||
esac
|
||||
}
|
||||
|
||||
DRY_RUN=n
|
||||
VERBOSE=n
|
||||
|
||||
|
@ -97,14 +114,19 @@ done
|
|||
|
||||
packages=""
|
||||
for subsystem in ${subsystems}; do
|
||||
package=$(${subsystem}_search_packages)
|
||||
|
||||
packages="${packages} ${package}"
|
||||
${subsystem}_search_packages
|
||||
done
|
||||
|
||||
echo "Needed packages: ${packages}"
|
||||
case "${packages}" in
|
||||
""|^[[:space:]]*$)
|
||||
echo "No firmware packages to install."
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
|
||||
echo "Needed firmware packages: '${packages}'"
|
||||
if [ "${DRY_RUN}" = "y" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
pkg install -q ${package}
|
||||
pkg install -q ${packages}
|
||||
|
|
|
@ -28,112 +28,112 @@ pci_video_amd()
|
|||
{
|
||||
case "$1" in
|
||||
0x678*|0x679*)
|
||||
echo "gpu-firmware-amd-kmod-tahiti"
|
||||
addpkg "gpu-firmware-amd-kmod-tahiti"
|
||||
;;
|
||||
0x680*|0x681*)
|
||||
echo "gpu-firmware-amd-kmod-pitcairn"
|
||||
addpkg "gpu-firmware-amd-kmod-pitcairn"
|
||||
;;
|
||||
0x660*|0x661*|0x662*|0x663*)
|
||||
echo "gpu-firmware-amd-kmod-oland"
|
||||
addpkg "gpu-firmware-amd-kmod-oland"
|
||||
;;
|
||||
0x682*|0x683*)
|
||||
echo "gpu-firmware-amd-kmod-verde gpu-firmware-amd-kmod-si58"
|
||||
addpkg "gpu-firmware-amd-kmod-verde gpu-firmware-amd-kmod-si58"
|
||||
;;
|
||||
0x666*)
|
||||
echo "gpu-firmware-amd-kmod-hainan"
|
||||
addpkg "gpu-firmware-amd-kmod-hainan"
|
||||
;;
|
||||
0x13*)
|
||||
echo "gpu-firmware-amd-kmod-kaveri"
|
||||
addpkg "gpu-firmware-amd-kmod-kaveri"
|
||||
;;
|
||||
0x664*|0x664*)
|
||||
echo "gpu-firmware-amd-kmod-bonaire"
|
||||
addpkg "gpu-firmware-amd-kmod-bonaire"
|
||||
;;
|
||||
0x67a*|0x67b*)
|
||||
echo "gpu-firmware-amd-kmod-hawaii"
|
||||
addpkg "gpu-firmware-amd-kmod-hawaii"
|
||||
;;
|
||||
0x983*)
|
||||
echo "gpu-firmware-amd-kmod-kabini"
|
||||
addpkg "gpu-firmware-amd-kmod-kabini"
|
||||
;;
|
||||
0x985*)
|
||||
echo "gpu-firmware-amd-kmod-mullins"
|
||||
addpkg "gpu-firmware-amd-kmod-mullins"
|
||||
;;
|
||||
0x690*)
|
||||
echo "gpu-firmware-amd-kmod-topaz"
|
||||
addpkg "gpu-firmware-amd-kmod-topaz"
|
||||
;;
|
||||
0x692*|0x693*)
|
||||
echo "gpu-firmware-amd-kmod-tonga"
|
||||
addpkg "gpu-firmware-amd-kmod-tonga"
|
||||
;;
|
||||
0x730*)
|
||||
echo "gpu-firmware-amd-kmod-fiji"
|
||||
addpkg "gpu-firmware-amd-kmod-fiji"
|
||||
;;
|
||||
0x987*)
|
||||
echo "gpu-firmware-amd-kmod-carrizo"
|
||||
addpkg "gpu-firmware-amd-kmod-carrizo"
|
||||
;;
|
||||
0x98e4*)
|
||||
echo "gpu-firmware-amd-kmod-stoney"
|
||||
addpkg "gpu-firmware-amd-kmod-stoney"
|
||||
;;
|
||||
0x67e*|0x67ff)
|
||||
echo "gpu-firmware-amd-kmod-polaris11"
|
||||
addpkg "gpu-firmware-amd-kmod-polaris11"
|
||||
;;
|
||||
0x67c*|0x67d*|0x6fdf)
|
||||
echo "gpu-firmware-amd-kmod-polaris10"
|
||||
addpkg "gpu-firmware-amd-kmod-polaris10"
|
||||
;;
|
||||
0x698*|0x699*)
|
||||
echo "gpu-firmware-amd-kmod-polaris12"
|
||||
addpkg "gpu-firmware-amd-kmod-polaris12"
|
||||
;;
|
||||
0x694*)
|
||||
echo "gpu-firmware-amd-kmod-vegam"
|
||||
addpkg "gpu-firmware-amd-kmod-vegam"
|
||||
;;
|
||||
0x686*|0x687*)
|
||||
echo "gpu-firmware-amd-kmod-vega10"
|
||||
addpkg "gpu-firmware-amd-kmod-vega10"
|
||||
;;
|
||||
0x69a*)
|
||||
echo "gpu-firmware-amd-kmod-vega12"
|
||||
addpkg "gpu-firmware-amd-kmod-vega12"
|
||||
;;
|
||||
0x66a*)
|
||||
echo "gpu-firmware-amd-kmod-vega20"
|
||||
addpkg "gpu-firmware-amd-kmod-vega20"
|
||||
;;
|
||||
0x15d*)
|
||||
echo "gpu-firmware-amd-kmod-raven"
|
||||
addpkg "gpu-firmware-amd-kmod-raven"
|
||||
;;
|
||||
0x738*|0x739*)
|
||||
echo "gpu-firmware-amd-kmod-arcturus"
|
||||
addpkg "gpu-firmware-amd-kmod-arcturus"
|
||||
;;
|
||||
0x731*)
|
||||
echo "gpu-firmware-amd-kmod-navi10"
|
||||
addpkg "gpu-firmware-amd-kmod-navi10"
|
||||
;;
|
||||
0x734*)
|
||||
echo "gpu-firmware-amd-kmod-navi14"
|
||||
addpkg "gpu-firmware-amd-kmod-navi14"
|
||||
;;
|
||||
0x15e7|0x1636|0x1638|0x164c)
|
||||
echo "gpu-firmware-amd-kmod-renoir"
|
||||
addpkg "gpu-firmware-amd-kmod-renoir"
|
||||
;;
|
||||
0x736*)
|
||||
echo "gpu-firmware-amd-kmod-navi12"
|
||||
addpkg "gpu-firmware-amd-kmod-navi12"
|
||||
;;
|
||||
0x73a*|0x73b*)
|
||||
echo "gpu-firmware-amd-kmod-sienna-cichlid"
|
||||
addpkg "gpu-firmware-amd-kmod-sienna-cichlid"
|
||||
;;
|
||||
0x163f)
|
||||
echo "gpu-firmware-amd-kmod-vangogh"
|
||||
addpkg "gpu-firmware-amd-kmod-vangogh"
|
||||
;;
|
||||
0x164d|0x1681)
|
||||
echo "gpu-firmware-amd-kmod-yellow-carp"
|
||||
addpkg "gpu-firmware-amd-kmod-yellow-carp"
|
||||
;;
|
||||
0x73c*|0x73d*)
|
||||
echo "gpu-firmware-amd-kmod-navy-flounder"
|
||||
addpkg "gpu-firmware-amd-kmod-navy-flounder"
|
||||
;;
|
||||
0x73e*|0x73f*)
|
||||
echo "gpu-firmware-amd-kmod-dimgrey-cavefish"
|
||||
addpkg "gpu-firmware-amd-kmod-dimgrey-cavefish"
|
||||
;;
|
||||
0x740*|0x741*)
|
||||
echo "gpu-firmware-amd-kmod-aldebaran"
|
||||
addpkg "gpu-firmware-amd-kmod-aldebaran"
|
||||
;;
|
||||
0x13fe)
|
||||
echo "gpu-firmware-amd-kmod-cyan-skillfish2"
|
||||
addpkg "gpu-firmware-amd-kmod-cyan-skillfish2"
|
||||
;;
|
||||
0x742*|0x743*)
|
||||
echo "gpu-firmware-amd-kmod-beige-goby"
|
||||
addpkg "gpu-firmware-amd-kmod-beige-goby"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
|
|
@ -29,47 +29,47 @@ pci_video_intel()
|
|||
case "$1" in
|
||||
# Skylake
|
||||
0x19*)
|
||||
echo "gpu-firmware-intel-kmod-skylake"
|
||||
addpkg "gpu-firmware-intel-kmod-skylake"
|
||||
;;
|
||||
# Broxton
|
||||
0x0a*|0x1a*|0x5a84|0x5a85)
|
||||
echo "gpu-firmware-intel-kmod-broxton"
|
||||
addpkg "gpu-firmware-intel-kmod-broxton"
|
||||
;;
|
||||
# Geminilake
|
||||
0x318*)
|
||||
echo "gpu-firmware-intel-kmod-geminilake"
|
||||
addpkg "gpu-firmware-intel-kmod-geminilake"
|
||||
;;
|
||||
# Kabylake, Coffeelake and Cometlake
|
||||
0x59*|0x87*|0x9b*|0x3e*)
|
||||
echo "gpu-firmware-intel-kmod-kabylake"
|
||||
addpkg "gpu-firmware-intel-kmod-kabylake"
|
||||
;;
|
||||
# Cannonlake
|
||||
0x5a*)
|
||||
echo "gpu-firmware-intel-kmod-cannonlake"
|
||||
addpkg "gpu-firmware-intel-kmod-cannonlake"
|
||||
;;
|
||||
# Icelake
|
||||
0x8a*)
|
||||
echo "gpu-firmware-intel-kmod-icelake"
|
||||
addpkg "gpu-firmware-intel-kmod-icelake"
|
||||
;;
|
||||
# Elkhartlake/Jasperlake
|
||||
0x45*|0x4e*)
|
||||
echo "gpu-firmware-intel-kmod-elkhartlake"
|
||||
addpkg "gpu-firmware-intel-kmod-elkhartlake"
|
||||
;;
|
||||
# Tigerlake
|
||||
0x9a*)
|
||||
echo "gpu-firmware-intel-kmod-tigerlake"
|
||||
addpkg "gpu-firmware-intel-kmod-tigerlake"
|
||||
;;
|
||||
# Rocketlake (Uses tigerlake GuC/HuC firmware)
|
||||
0x4c*)
|
||||
echo "gpu-firmware-intel-kmod-rocketlake gpu-firmware-intel-kmod-tigerlake"
|
||||
addpkg "gpu-firmware-intel-kmod-rocketlake gpu-firmware-intel-kmod-tigerlake"
|
||||
;;
|
||||
# DG1
|
||||
0x49*)
|
||||
echo "gpu-firmware-intel-kmod-dg1"
|
||||
addpkg "gpu-firmware-intel-kmod-dg1"
|
||||
;;
|
||||
# Alderlake (Uses tigerlake GuC/HuC firmware)
|
||||
0x46*)
|
||||
echo "gpu-firmware-intel-kmod-alderlake gpu-firmware-intel-kmod-tigerlake"
|
||||
addpkg "gpu-firmware-intel-kmod-alderlake gpu-firmware-intel-kmod-tigerlake"
|
||||
;;
|
||||
*)
|
||||
log "No package found for device $1"
|
||||
|
|
Loading…
Reference in a new issue