Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: GPL-2.0-or-later
2
3source $(dirname -- "${BASH_SOURCE[0]}")/lib.sh
4
5function cleanup_devices() {
6 local device_bdf
7 local device_dir
8
9 for device_bdf in "$@"; do
10 device_dir=${DEVICES_DIR}/${device_bdf}
11
12 if [ -f ${device_dir}/vfio-pci ]; then
13 unbind ${device_bdf} vfio-pci
14 fi
15
16 if [ -f ${device_dir}/driver_override ]; then
17 clear_driver_override ${device_bdf}
18 fi
19
20 if [ -f ${device_dir}/driver ]; then
21 bind ${device_bdf} $(cat ${device_dir}/driver)
22 fi
23
24 if [ -f ${device_dir}/sriov_numvfs ]; then
25 set_sriov_numvfs ${device_bdf} $(cat ${device_dir}/sriov_numvfs)
26 fi
27
28 rm -rf ${device_dir}
29 done
30}
31
32function main() {
33 if [ $# = 0 ]; then
34 cleanup_devices $(ls ${DEVICES_DIR})
35 rmdir ${DEVICES_DIR}
36 else
37 cleanup_devices "$@"
38 fi
39}
40
41main "$@"