# 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_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_MODULE_PARAMETERS
	tristate "Module parameters"
	help
	  This option builds the Rust module parameters sample.

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

	  If unsure, say N.

config SAMPLE_RUST_SYNC
	tristate "Synchronisation primitives"
	help
	  This option builds the Rust synchronisation primitives sample.

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

	  If unsure, say N.

config SAMPLE_RUST_CHRDEV
	tristate "Character device"
	help
	  This option builds the Rust character device sample.

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

	  If unsure, say N.

config SAMPLE_RUST_MISCDEV
	tristate "Miscellaneous device"
	help
	  This option builds the Rust miscellaneous device sample.

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

	  If unsure, say N.

config SAMPLE_RUST_STACK_PROBING
	tristate "Stack probing"
	help
	  This option builds the Rust stack probing sample.

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

	  If unsure, say N.

config SAMPLE_RUST_SEMAPHORE
	tristate "Semaphore"
	help
	  This option builds the Rust semaphore sample.

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

	  If unsure, say N.

config SAMPLE_RUST_SEMAPHORE_C
	tristate "Semaphore (in C, for comparison)"
	help
	  This option builds the Rust semaphore sample (in C, for comparison).

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

	  If unsure, say N.

config SAMPLE_RUST_RANDOM
	tristate "Random"
	help
	  This option builds the Rust random sample.

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

	  If unsure, say N.

config SAMPLE_RUST_PLATFORM
	tristate "Platform device driver"
	help
	  This option builds the Rust platform device driver sample.

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

	  If unsure, say N.

config SAMPLE_RUST_NETFILTER
	tristate "Network filter module"
	help
	  This option builds the Rust netfilter module sample.

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

	  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
