# SPDX-License-Identifier: GPL-2.0-only menuconfig FWCTL tristate "fwctl device firmware access framework" help fwctl provides a userspace API for restricted access to communicate with on-device firmware. The communication channel is intended to support a wide range of lockdown compatible device behaviors including manipulating device FLASH, debugging, and other activities that don't fit neatly into an existing subsystem. if FWCTL config RUST_FWCTL_ABSTRACTIONS bool "Rust fwctl abstractions" depends on RUST && FWCTL=y help This enables the Rust abstractions for the fwctl device firmware access framework. It provides safe wrappers around struct fwctl_device and struct fwctl_uctx, allowing Rust drivers to register fwctl devices and implement their control and RPC logic in safe Rust. If unsure, say N. config FWCTL_BNXT tristate "bnxt control fwctl driver" depends on BNXT help BNXT provides interface for the user process to access the debug and configuration registers of the Broadcom NIC hardware family. This will allow configuration and debug tools to work out of the box on mainstream kernel. If you don't know what to do here, say N. config FWCTL_MLX5 tristate "mlx5 ConnectX control fwctl driver" depends on MLX5_CORE help MLX5 provides interface for the user process to access the debug and configuration registers of the ConnectX hardware family (NICs, PCI switches and SmartNIC SoCs). This will allow configuration and debug tools to work out of the box on mainstream kernel. If you don't know what to do here, say N. config FWCTL_PDS tristate "AMD/Pensando pds fwctl driver" depends on PDS_CORE help The pds_fwctl driver provides an fwctl interface for a user process to access the debug and configuration information of the AMD/Pensando DSC hardware family. If you don't know what to do here, say N. endif