Files
linux/samples/rust/Kconfig
Matthew Maurer d4a5d397c7 samples: rust: Add scoped debugfs sample driver
Adds a new sample driver `rust_scoped_debugfs` that demonstrates the
use of the scoped debugfs APIs.

The driver creates a `control` directory with two write-only files,
`create` and `remove`. Writing a name and a series of numbers to
`create` will create a new subdirectory under a `dynamic` directory.
This new subdirectory will contain files that expose the numbers as
atomic values.

Writing a name to `remove` will remove the corresponding subdirectory
from the `dynamic` directory.

This sample serves as an example of how to use the `debugfs::Scope`
and `debugfs::ScopedDir` APIs to create and manage debugfs entries
that are tied to the lifetime of a data structure.

Signed-off-by: Matthew Maurer <mmaurer@google.com>
Tested-by: Dirk Behme <dirk.behme@de.bosch.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/r/20250904-debugfs-rust-v11-7-7d12a165685a@google.com
[ Rename "scoped_debugfs" -> "debugfs_scoped", fix up
  Result<(), Error> -> Result. - Danilo ]
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
2025-09-10 21:05:11 +02:00

138 lines
3.0 KiB
Plaintext

# 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_CONFIGFS
tristate "Configfs sample"
depends on CONFIGFS_FS
help
This option builds the Rust configfs sample.
To compile this as a module, choose M here:
the module will be called rust_configfs.
If unsure, say N.
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_DMA
tristate "DMA Test Driver"
depends on PCI
help
This option builds the Rust DMA Test driver sample.
To compile this as a module, choose M here:
the module will be called rust_dma.
If unsure, say N.
config SAMPLE_RUST_DEBUGFS
tristate "DebugFS Test Module"
depends on DEBUG_FS
help
This option builds the Rust DebugFS Test module sample.
To compile this as a module, choose M here:
the module will be called rust_debugfs.
If unsure, say N.
config SAMPLE_RUST_DEBUGFS_SCOPED
tristate "Scoped DebugFS Test Module"
depends on DEBUG_FS
help
This option builds the Rust Scoped DebugFS Test module sample.
To compile this as a module, choose M here:
the module will be called rust_debugfs_scoped.
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_DRIVER_FAUX
tristate "Faux Driver"
help
This option builds the Rust Faux driver sample.
To compile this as a module, choose M here:
the module will be called rust_driver_faux.
If unsure, say N.
config SAMPLE_RUST_DRIVER_AUXILIARY
tristate "Auxiliary Driver"
depends on PCI
select AUXILIARY_BUS
help
This option builds the Rust auxiliary driver sample.
To compile this as a module, choose M here:
the module will be called rust_driver_auxiliary.
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