# SPDX-License-Identifier: GPL-2.0

menuconfig SAMPLES_RUST
	bool "Rust samples"
	depends on RUST
	help
	  You can build sample Rust kernel code here.

	  If unsure, say N.

if SAMPLES_RUST

config SAMPLE_RUST_MINIMAL
	tristate "Minimal"
	help
	  This option builds the Rust minimal module sample.

	  To compile this as a module, choose M here:
	  the module will be called rust_minimal.

	  If unsure, say N.

config SAMPLE_RUST_MISC_DEVICE
	tristate "Misc device"
	help
	  This option builds the Rust misc device.

	  To compile this as a module, choose M here:
	  the module will be called rust_misc_device.

	  If unsure, say N.

config SAMPLE_RUST_PRINT
	tristate "Printing macros"
	help
	  This option builds the Rust printing macros sample.

	  To compile this as a module, choose M here:
	  the module will be called rust_print.

	  If unsure, say N.

config SAMPLE_RUST_DRIVER_PCI
	tristate "PCI Driver"
	depends on PCI
	help
	  This option builds the Rust PCI driver sample.

	  To compile this as a module, choose M here:
	  the module will be called driver_pci.

	  If unsure, say N.

config SAMPLE_RUST_DRIVER_PLATFORM
	tristate "Platform Driver"
	help
	  This option builds the Rust Platform driver sample.

	  To compile this as a module, choose M here:
	  the module will be called rust_driver_platform.

	  If unsure, say N.

config SAMPLE_RUST_HOSTPROGS
	bool "Host programs"
	help
	  This option builds the Rust host program samples.

	  If unsure, say N.

endif # SAMPLES_RUST
