# SPDX-License-Identifier: GPL-2.0-only
#
# Unisys visorbus configuration
#

config UNISYS_VISORBUS
	tristate "Unisys visorbus driver"
	depends on X86_64 && ACPI
	help
	The visorbus driver is a virtualized bus for the Unisys s-Par firmware.
	Virtualized devices allow Linux guests on a system to share disks and
	network cards that do not have SR-IOV support, and to be accessed using
	the partition desktop application. The visorbus driver is required to
	discover devices on an s-Par guest, and must be present for any other
	s-Par guest driver to function correctly.
