Page MenuHomeFreeBSD

D40071.diff
No OneTemporary

D40071.diff

diff --git a/usr.sbin/fwget/fwget.sh b/usr.sbin/fwget/fwget.sh
--- a/usr.sbin/fwget/fwget.sh
+++ b/usr.sbin/fwget/fwget.sh
@@ -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 @@
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 @@
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}
diff --git a/usr.sbin/fwget/pci/pci_video_amd b/usr.sbin/fwget/pci/pci_video_amd
--- a/usr.sbin/fwget/pci/pci_video_amd
+++ b/usr.sbin/fwget/pci/pci_video_amd
@@ -28,112 +28,112 @@
{
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
}
diff --git a/usr.sbin/fwget/pci/pci_video_intel b/usr.sbin/fwget/pci/pci_video_intel
--- a/usr.sbin/fwget/pci/pci_video_intel
+++ b/usr.sbin/fwget/pci/pci_video_intel
@@ -29,47 +29,47 @@
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"

File Metadata

Mime Type
text/plain
Expires
Thu, Oct 3, 10:10 AM (21 h, 37 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
13343265
Default Alt Text
D40071.diff (7 KB)

Event Timeline