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 "$@" 42